java中存儲mysql數據庫時間類型【date、time、datetime、timestamp】


MySQL中對於時間的存儲自己見表的時候都是設置的varchar類型的,感覺挺方便的。

昨天拿別人建好的表寫代碼,發現這張表中時間類型為datetime的,憑感覺試了一下不行,網上查了剛開始試了好幾個都是不對的,一臉懵逼。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


圖片被吃了


如圖,mysql中的datetime類型數據對應的是Java中的Timestamp類。

date:只有日期,沒有時間,2016-09-21;

time:只有時間,沒有日期,23:42:31;

datetime:日期時間都有,2016-09-21 23:42:31 。

timestamp:可以在進行Insert或者update的時候自動的為你插入時間,時間格式:2016-09-21 23:42:31。


用navicat找了一張表添加了一個timestamp的字段,如下:



導出表結構看到該字段sql為:`time_test` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,


言歸正傳,本次數據庫中用的是datetime類型的,在java中生成可以存儲的時間數據方法如下:

 1
 2
 3
 4
Date date = new Date();
Timestamp timeStamep = new Timestamp(date.getTime());
System.out.println(timeStamep);
//輸出結果: 2016-09-22 10:38:14.964
來自CODE的代碼片
snippet_file_0.txt

可以看到得到的結果還帶有毫秒這個可以直接存儲,到數據庫里面就自動去掉毫秒了,另外在數據庫中存入的不帶毫秒的時間,在java中從數據庫獲取該時間后也是帶有毫秒的,只是毫秒為為0。


免責聲明!

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



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