java.sql.Date java.util.Date String 的相互转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.sql.Date java.util.Date String 的相互转换相关的知识,希望对你有一定的参考价值。

  1. import java.text.ParseException;  
  2. import java.text.SimpleDateFormat;  
  3. import java.util.Date;  
  4.   
  5. /** 
  6.  * java.util.Date 
  7.  * 1、就是在除了SQL语句的情况下面使用;是 java.sql.Date 的父类; 
  8.  * 2、是常用的表示时间的类,我们通常格式化或者得到当前时间都是用它。 
  9.  *  
  10.  * java.sql.Date 
  11.  * 1、是针对SQL语句使用的,它只包含日期而没有时间部分; 
  12.  * 2、读写数据库的时候用它,因为PreparedStament的setDate()的第2参数和ResultSet的getDate()方法的第2个参数都是java.sql.Date。  
  13.  * 
  14.  */  
  15. public class TransformDatet{  
  16.     public static void main(String[] args) {  
  17.         //java.util.date java.sql.date 之间的转换  
  18.         Date date = new Date();  
  19.         System.out.println("java.util.date :"+date.toString());  
  20.         java.sql.Date  sqlDate = new java.sql.Date(date.getTime());  
  21.         System.out.println("java.sql.date :"+sqlDate.toString());  
  22.           
  23.         Date date2 = new Date(sqlDate.getTime());  
  24.         System.out.println("java.util.date:"+date2);  
  25.           
  26.         //String  java.util.date 之间的转换  
  27.         SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  28.         String formatUtilDate = sdf1.format(date);  
  29.         System.out.println("formatUtilDate:"+formatUtilDate);  
  30.           
  31.         try {  
  32.             Date parseUtilDate = sdf1.parse(formatUtilDate);  
  33.             System.out.println("parseUtilDate:"+parseUtilDate);  
  34.         } catch (ParseException e) {  
  35.             e.printStackTrace();  
  36.         }  
  37.           
  38.         SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMdd");  
  39.         String formatUtilDate2 = sdf2.format(date);  
  40.         System.out.println("formatUtilDate2:"+formatUtilDate2);  
  41.           
  42.         try {  
  43.             Date parseUtilDate2 = sdf2.parse(formatUtilDate2);  
  44.             System.out.println("parseUtilDate2:"+parseUtilDate2);  
  45.         } catch (ParseException e) {  
  46.             e.printStackTrace();  
  47.         }  
  48.           
  49.           
  50.         //String java.sql.Date 之间的转换   
  51.         //String 转 sql.date 可以用valueOf方法;sql.date转String需要用到 util.Date的getTime()方法  
  52.         String formatSqlDate = "2013-05-09";  
  53.         java.sql.Date valueOf = java.sql.Date.valueOf(formatSqlDate);  
  54.         System.out.println("valueOf:"+valueOf);  
  55.           
  56. //        String formatSqlDate2 = "20130509";//String 格式错误 应为 yyyy-MM-dd  
  57. //        java.sql.Date valueOf2 = java.sql.Date.valueOf(formatSqlDate2);  
  58. //        System.out.println("valueOf2:"+valueOf2);  
  59.           
  60.         java.sql.Date newSqlDate = new java.sql.Date(new Date().getTime());  
  61.         System.out.println("sqlDateToString:"+newSqlDate.toString());  
  62.           
  63.     }  
  64. }  

以上是关于java.sql.Date java.util.Date String 的相互转换的主要内容,如果未能解决你的问题,请参考以下文章

java.sql.date和java.util.date的区别和转换

java.sql.Date与java.sql.Date区别

SQL DATE 与 java.sql.Date 中的时区

java.util.Date 不能转换为 java.sql.Date [重复]

util.date和sql.date的衔接处理

java.util.Date 与 java.sql.Date