在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中生成可以存儲的時間數據方法如下:
可以看到得到的結果還帶有毫秒這個可以直接存儲,到數據庫里面就自動去掉毫秒了,另外在數據庫中存入的不帶毫秒的時間,在java中從數據庫獲取該時間后也是帶有毫秒的,只是毫秒為為0。
