zoukankan      html  css  js  c++  java
  • java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和总结 转

    java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和总结

    java.lang.Object
    ....|__java.util.Date
    ..........|__java.sql.Date/java.sql.Timestamp /java.sql.Time


    【父类】java.util.Date日期格式为:年月日时分秒
    【子类】java.sql.Date日期格式为:年月日[只存储日期数据不存储时间数据]
    【子类】java.sql.Time日期格式为:时分秒
    【子类】java.sql.Timestamp日期格式为:年月日时分秒纳秒(毫微秒)

    针对不同的数据库选用不同的日期类型
    ·Oracle的Date类型,只需要年月日,选择使用java.sql.Date类型
    ·MS Sqlserver数据库的DateTime类型,需要年月日时分秒,选择java.sql.Timestamp类型


    ------------------------------------------

    四种对象内部均使用系统时间作为标准数据
    ·系统时间:自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数,即格林尼治标准时间(GMT)
    ·本地时间:根据时区不同打印出来的时间[当时区为GMT+0时,系统时间与本地时间相同]

    我们使用的是以本地时间为参考标准的
    ------------------------------------------

    String日期格式转换成Date日期格式

    import java.text.ParseException;
    import java.text.SimpleDateFormat;

    public class a {
     
       //主函数
       public static void main(String[] args)
       {
        //java.util.Date时间格式的转换
        SimpleDateFormat f_utilDate=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
      String str="2011-5-31 14:40:50";
      try {
       java.util.Date utilDate=f_utilDate.parse(str);
       System.out.println(f_utilDate.format(utilDate));
      } catch (ParseException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }

        //java.sql.Date时间格式的转换
        SimpleDateFormat f_sqlDate=new SimpleDateFormat("yyyy-MM-dd");
        java.sql.Date sqlDate = java.sql.Date.valueOf("2010-08-20");
        System.out.println(f_sqlDate.format(sqlDate));
       
        //java.sql.Time sqltime时间格式的转换
        SimpleDateFormat f_sqlTime=new SimpleDateFormat("hh:mm:ss");
        java.sql.Time sqltime = java.sql.Time.valueOf("13:44:53");
        System.out.println(f_sqlTime.format(sqltime));
       
        //java.sql.Timestamp时间格式的转换
        SimpleDateFormat f_timestamp=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");
        java.sql.Timestamp timestamp = java.sql.Timestamp.valueOf("2010-08-20 14:06:27.186");
        System.out.println(f_timestamp.format(timestamp));
       }
    }

     *******************************************************************************

         //java.util.Date 转换成 java.sql.Date 格式
           try{
            SimpleDateFormat DateFormate =   new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
                   java.util.Date date1 = DateFormate.parse("2011-5-31 14:40:50");
                   java.sql.Date sqlDate = new java.sql.Date(date1.getTime());
                   System.out.println(DateFormate.format(sqlDate));
           }catch (Exception ex) {
                System.out.println(ex.getMessage());
           }

           //java.sql.Date 转换成 java.util.Date 格式
           java.sql.Date sqlDate1=java.sql.Date.valueOf("2005-12-12");
           java.util.Date utilDate1=new java.util.Date(sqlDate1.getTime());
           System.out.println("java.sql.Date 转换成 java.util.Date 格式:"+f.format(utilDate1));

        //java.util.Date转换java.sql.Timestamp
        new java.sql.Timestamp(new java.util.Date().getTime());//此处IDE报错

        //java.util.Date转换java.sql.Time
        new java.sql.Time(new java.util.Date().getTime());

        

        Timestamp timestamp  = new Timestamp(System.currentTimeMillis());

       我们可以使用DateFormat处理字符串来定义时间日期的格式
       注:String都是先转换为java.util.Date,然后再转换成所需的格式

       

    示例:
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Locale;

    import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException;

    public class a  {  
        public static void main(String[] args) throws ParseException{  
            try{  
                 String dateString = "2010-08-20 12:00:00.125";   
                  DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss.SSS",Locale.ENGLISH);//设定格式  
                 dateFormat.setLenient(false);  
                 java.util.Date utilDate = dateFormat.parse(dateString);//util类型  
                 java.sql.Timestamp dateTime = new java.sql.Timestamp(utilDate.getTime());//Timestamp类型,timeDate.getTime()返 回一个long型  
                 System.out.println(dateTime);  
            }catch(Exception ex){  
                ex.printStackTrace();  
            }       
        }  
    }  

  • 相关阅读:
    C# winfrom容器布局与工具栏&&右键菜单栏&&隐藏显示小图标的的简单事件
    C# Winform ListView控件
    MongoDB3.6.3 windows安装配置、启动
    史蒂夫•乔布斯在斯坦福大学的演讲
    SpringBoot配置文件 application.properties详解
    Elasticsearch分布式安装启动失败
    Couldn't connect to host, port: smtp.163.com, 25; timeout -1;
    CentOS 7 安装jdk9
    生成唯一的随机数(时间+随机数)
    idea 设置背景图片
  • 原文地址:https://www.cnblogs.com/dingding0505/p/3777048.html
Copyright © 2011-2022 走看看