Java中有兩個Date類
- 一個是java.util.Date通常情況下用它獲取當前時間或構造時間
- 另一個是java.sql.Date是針對SQL語句使用的,它只包含日期而沒有時間部分
- 兩個類型的時間可以相互轉化
- 這三個類都是java.utl.Date的子類
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:表示時間戳,有年月日時分秒,以及毫秒。
util.Date轉sql.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));