您的位置:首页 > 编程语言 > Java开发

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

2016-11-01 15:47 483 查看
http://blog.csdn.net/xiancaieeee/article/details/8099184

项目EGou中学习到的知识:项目地址 http://www.apkbus.com/forum.php?mod=viewthread&tid=270126&extra=page%3D1%26filter%3Dsortid%26sortid%3D12

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();   

        }        

    }   

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Timestamp
相关文章推荐