解決MySQL存儲時間出現(xiàn)不一致的問題
用Java在獲取了系統(tǒng)時間后,存入MySQL數(shù)據(jù)庫時,當時間的類型為datetime或Timestamp時發(fā)現(xiàn)數(shù)據(jù)庫的存儲與本地時間不一致。
很大原因是,MySQL設(shè)置的時區(qū)與你本地時區(qū)不一致造成的,解決辦法可以修改MySQL的時區(qū)配置,這個大家網(wǎng)上搜一下就有了。
本人推薦第二種方法
就是在數(shù)據(jù)庫連接的那個DBUtil類里根據(jù)你項目的實際需要進行設(shè)置,不如我在如下代碼里更改了時區(qū)與亞洲上海同時區(qū)
private static String driver = "com.mysql.cj.jdbc.Driver";
private static String url = "jdbc:mysql://127.0.0.1:3306/mypetstore?serverTimezone=Asia/Shanghai&useSSL=false";
serverTimezone=Asia/Shanghai就是用來設(shè)置時區(qū)的。
在從MySQL里取出Timestamp數(shù)據(jù)時,顯示到瀏覽器的時候,總會在末尾出現(xiàn)一個.0,很討厭,怎么辦呢?
可以使用如下EL表達式和JSTL標簽的將其格式化,其中l(wèi)og.date就是所查出的時間數(shù)據(jù)
<fmt:formatDate value="${log.date}" type="date" pattern="yyyy-MM-dd HH:mm:ss" />
注意:若寫成yyyy-MM-dd hh:mm:ss這樣將區(qū)分不了上午與下午
補充:Mysql存儲時間或日期錯位問題
這里說一下mysql數(shù)據(jù)庫添加記錄的時候,出現(xiàn)日期錯位一天或者時間不對的問題。
遇到問題的場景
代碼邏輯沒問題,單步執(zhí)行發(fā)現(xiàn)存的時候日期也沒錯,但是存到數(shù)據(jù)庫日期就不對了。
原因
原因就是你配置數(shù)據(jù)源連接加的參數(shù)內(nèi)容的問題,如果沒猜錯你配置的serverTimezone這個參數(shù)應該是UTC,這個是使用的時區(qū)不對導致存數(shù)據(jù)的時候日期錯位。

解決辦法
把serverTimezone設(shè)置成Asia/Shanghai,如下圖,這樣再試一下,問題就解決了。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
pymysql.err.DataError:(1264, ")異常的有效解決方法(最新推薦)
遇到pymysql.err.DataError錯誤時,錯誤代碼1264通常指的是MySQL數(shù)據(jù)庫中的Out of range value for column錯誤,這意味著你嘗試插入或更新的數(shù)據(jù)超過了對應數(shù)據(jù)庫列所允許的范圍,這篇文章主要介紹了pymysql.err.DataError:(1264, ")異常的有效問題,需要的朋友可以參考下2024-05-05
Mysql數(shù)據(jù)庫自增id、uuid與雪花id詳解
在mysql中設(shè)計表的時候,mysql官方推薦不要使用uuid或者不連續(xù)不重復的雪花id(long形且唯一),而是推薦連續(xù)自增的主鍵id,這篇文章主要給大家介紹了關(guān)于Mysql數(shù)據(jù)庫自增id、uuid與雪花id的相關(guān)資料,需要的朋友可以參考下2023-02-02
Windows 10 與 MySQL 5.5 安裝使用及免安裝使用詳細教程(圖文)
本文介紹Windows 10環(huán)境下,MySQL 5.5的安裝使用及免安裝使用教程,本文提供了資源下載及相關(guān)問題解決方案,非常不錯,需要的朋友參考下2017-07-07
MySQL報錯1118,數(shù)據(jù)類型長度過長問題及解決
在使用MySQL過程中,常見的一個問題是報錯1118,這通常發(fā)生在創(chuàng)建表時,錯誤提示為“Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual2024-10-10
強制修改mysql的root密碼的六種方法分享(mysql忘記密碼)
下面我們提供了6種不同的修改mysql root用戶的密碼,與增加mysql用戶的方法2011-11-11
MySQL 8.0.20 安裝教程圖文詳解(windows 64位)
這篇文章主要介紹了MySQL 8.0.20安裝教程(windows 64位),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有,需要的朋友可以參考下2020-05-05

