util.Date與sql.Date的相互轉換
阿新 • • 發佈:2019-01-31
Java中有兩個Date類,一個是java.util.Date通常情況下用它獲取當前時間或構造時間,另一個是java.sql.Date是針對SQL語句使用的,它只包含日期而沒有時間部分。兩個型別的時間可以相互轉化。
util.Date轉sql.Date
程式碼:
Date utilDate = new Date();//util.Date
System.out.println("utilDate : " + utilDate);
//util.Date轉sql.Date
java.sql.Date sqlDate = new java.sql .Date(utilDate.getTime());
System.out.println("sqlDate : " + sqlDate);
執行結果:
從執行結果看到util.date轉成sql.date之後,只有年月日,沒有時分秒。下面給大家看點東西就知道為什麼會這樣了
java.sql包下給出三個與資料庫相關的日期時間型別:
Date:表示日期,只有年月日,沒有時分秒。會丟失時間;
Time:表示時間,只有時分秒,沒有年月日。會丟失日期;
Timestamp:表示時間戳,有年月日時分秒,以及毫秒。
程式碼
Date utilDate = new Date();//util utilDate
System.out.println("utilDate : " + utilDate);
Timestamp sqlDate = new Timestamp(utilDate.getTime());//uilt date轉sql date
System.out.println("sqlDate : " + sqlDate);
執行結果:
這樣就有時分秒了
sql.Date轉util.Date
觸類旁通,就直接上程式碼了
程式碼
System.out.println("*********util.Date轉sql.Date*********" );
Date utilDate = new Date();//util.Date
System.out.println("utilDate : " + utilDate);
Timestamp sqlDate = new Timestamp(utilDate.getTime());//util.Date轉sql.Date
System.out.println("sqlDate : " + sqlDate);
System.out.println("*********sql.Date轉util.Date*********");
System.out.println("sqlDate : " + sqlDate);
Date date = new Date(sqlDate.getTime());//sql.Date轉util.Date
/*
java.util.Date date = new java.util.Date(sqlDate.getTime());
*/
System.out.println("utilDate : " + date);
執行結果:
同時util.Date和sql.Date都可以用SimpleDateFormat格式化
程式碼
Date utilDate = new Date();//uilt.Date
System.out.println("utilDate : " + utilDate);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("format : " + format.format(utilDate));
System.out.println("**********************************************");
Timestamp sqlDate = new Timestamp(utilDate.getTime());//uilt.Date轉sql.Date
System.out.println("sqlDate : " + sqlDate);
System.out.println("format : " + format.format(sqlDate));
執行結果: