獲取系統時間按格式保存在數據庫中


01

獲取當前時間以規定格式輸出:
Date date = new Date();
DateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time=df.format(date);

將自定義date存入數據庫問題(精確到時分秒的情況):
1.實體類中聲明Date類型變量(java.util.date);
2.action中聲明String類型變量(因為一般datetimePicker傳過來的是String);
3.將日期字符串轉換成long類型並放入java.sql.Timestamp中。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date startTimeDate = new java.sql.Timestamp(sdf.parse(startTime).getTime());

注:java.sql.Timestamp會將轉換成的long類型數據自動變成日期加時分秒的數據並存入數據庫,但從數據庫取出來時還是long類型數據,要顯示格式化的日期到頁面上還需要轉換。

 02

Mybatis框架中jdbcType="DATE" 和 jdbcType="TIMESTAMP" 兩種類型的區別

也算不上是Mybatis的bug,只能說是特性,本來就是這么設置的,在連接oracle數據庫的時候,當jdbcType="DATE"類型時,返回的時間只有年月日(yyyy-MM-dd)的,當jdbcType=“TIMESTAMP”的時候,返回的時間是年月日和時分秒(yyyy-MM-dd HH:mm:ss),參考下圖:

以綁定時間和解綁時間為例:

1.1當綁定時間的jdbcType=“DATE”,解綁時間的為jdbcType=“TIMESTAMP”,xml文件設置如下:

1.2最終查詢到的數據類型是DATE的數據只有年月日(yyyy-MM-dd),而TIMESTAMP的年月日和時分秒都有(yyyy-MM-dd HH:mm:ss),如下展示

2.1當兩個時間都設為TIMESTAMP的時候,xml文件設置如下:

2.2兩個時間數據都展示位年月日和時分秒(yyyy-MM-dd HH:mm:ss),結果如下:

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM