1. 程式人生 > >資料庫插入日期,取出日期,顯示格式的問題

資料庫插入日期,取出日期,顯示格式的問題

解決日期儲存取值問題:

在資料庫中插入帶時分秒的時間需要用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);