標籤:代碼 sni code tab sso text 格式 -- fas
在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。
java中儲存mysql資料庫時間類型【date、time、datetime、timestamp】