資料庫插入日期,取出日期,顯示格式的問題
阿新 • • 發佈:2019-01-27
解決日期儲存取值問題:
在資料庫中插入帶時分秒的時間需要用Timestamp。
1.資料庫欄位設定為timestamp型別
2.vo層欄位對映到java物件的屬性,型別對應為Timestamp
3.controll控制層設定時間,採用如下方法
4.表現層,如果用jstl取值,方法如下:
5.程式媛都是善良的,如果能幫助到你,拿去不謝!
個人分析:
通常我們使用日期時候,會涉及到這三個類
Java.sql.Date,java.sql.Time,java.sql.Timestamp
而這三個都是java.util.Date的子類(包裝類)。因為他們的toString()方法不一樣,所以
java.sql.Date顯示年月日、
java.sql.Time顯示時分秒、
java.sql.TimeStamp顯示年月日時分秒納秒。
所以如果想要取得完整的日期,最好使用TimeStamp.
timestamp拓展:
TimeStamp獲取秒數
Timestamp scurrtest = new Timestamp(System.currentTimeMillis());
System.out.println("scurrtest = "+scurrtest);
long sqlLastTime = scurrtest.getTime();// 直接轉換成long
System.out.println("sqlLastTime = "+sqlLastTime); //毫秒數
System.out.println("sqlLastTime/1000 = "+sqlLastTime/1000); // 秒數
String轉化為Timestamp:
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//定義格式,不顯示毫秒
Timestamp now = new Timestamp(System.currentTimeMillis());
//獲取系統當前時間
String str = df.format(now);
String轉化為Timestamp:
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-ddHH:mm:ss");
String time = df.format(new Date());
Timestamp ts = Timestamp.valueOf(time);