Mybatis-Plus插入和更新自動將date轉換為Timestamp,日期會減少8小時
阿新 • • 發佈:2018-12-14
在使用mybatis-plus自帶的插入和更新時,出現了一個神奇的問題,前臺傳入的是Date型別(yyyy-MM-dd),但是在插入的時候,卻發現是Timestamp型別,插入到資料庫發現時間比原來減少了8小時,後來將資料庫日期型別修改為Datetime解決。
接來下搜尋了一下Timestamp和Datetime的區別:
轉載自:http://www.cnblogs.com/swey/p/4492450.html
1. 儲存空間不同
a) TIMESTAMP佔用4個位元組
b) DATETIME佔用8個位元組
2. 受時區影響
c) TIMESTAMP實際記錄的是1970-01-01 00:00:01到現在的數數,受時區影響
d) DATETIME不受時區影響
3. 時間範圍不同
e) TIMESTAMP的時間範圍是:'1970-01-01 00:00:01' UTC ~ '2038-01-19 03:14:07' UTC
f) DATETIME的時間範圍是:'1000-01-01 00:00:00' ~ '9999-12-31 23:59:59'
4. 自動更新
g) TIMESTAMP型別在預設情況下,insert、update 資料時,TIMESTAMP列會自動以當前時間(CURRENT_TIMESTAMP)填充/更新。
5. Mysql中,TIMESTAMP和long之間的轉換函式:
h) TIMESTAMP轉long:UNIX_TIMESTAMP
i) long轉TIMESTAMP:FROM_UNIXTIME