Date类型与字符串之间的转换

时间:2023-03-09 03:22:08
Date类型与字符串之间的转换

Java中Date类型与字符串转化

(一)Date与字符串的转化

  Date、String、Timestamp之间的转换!

 

  1. public static void main(String[] args) {  
  2.   
  3. DateFormat format = new SimpleDateFormat("yyyy-MM-dd");                                      
  4. // String转Date      
  5. str = "2009-01-06";            
  6. java.util.Date date = format.parse("2009-01-06"); // Wed sep 26 00:00:00 CST 2007      
  7.              
  8.  
  9. // Date转String      
  10. date = new Date();   // Wed sep 26 18 17:14:01 CST 2007         
  11. str = format.format(date); // 2007-9-26   
  12.  
  13. //
      
  14. format = DateFormat.getDateInstance(DateFormat.SHORT);      
  15. str = format.format(date); // 07-9-26  
  16.           
  17. format = DateFormat.getDateInstance(DateFormat.MEDIUM);      
  18. str = format.format(date); // 2007-9-26     
  19. format = DateFormat.getDateInstance(DateFormat.FULL);      
  20. str = format.format(date); // 2007年9月26日 星期三   
  21. }  

 

Timestamp和String之间转换的函数:

  1. public static void main(String[] args) {  
  2.  
  3.    //Timestamp转化为String:  
  4.     SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义格式,不显示毫秒  
  5.     Timestamp now = new Timestamp(System.currentTimeMillis());//获取系统当前时间  
  6.     String str = df.format(now);  
  7.     System.out.println(str);  
  8.      
  9.     //String转化为Timestamp:  
  10.     SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  11.     Date date = new Date();  
  12.     String time = df1.format(date);  
  13.     Timestamp ts = Timestamp.valueOf(time);  
  14.     System.out.println(ts);  
  15.   
  16. }  

(二)java.util.Date和java.sql.Date的区别和相互转化

 java.util.Date是在除了SQL语句的情况下面使用的。
     java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分
    它们都有getTime方法返回毫秒数,自然就可以直接构建。 java.util.Date 是 java.sql.Date 的父类,

  因为PreparedStament的setDate()的第2参数和ResultSet的getDate()方法的第2个参数都是java.sql.Date。

  其实他们的转化总结起来:都是通过 new  Date(d.getTime());

   java.sql.Date转为java.util.Date
  java.sql.Date date=new java.sql.Date();
  java.util.Date d=new java.util.Date (date.getTime());

   java.util.Date转为java.sql.Date
  java.util.Date utilDate=new Date();
  java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime());
       java.util.Date utilDate=new Date();
      java.sql.Timestamp stp=new java.sql.Timestamp(utilDate.getTime());

     这里所有时间日期都可以被SimpleDateFormat格式化format()