解決MySQL存儲(chǔ)時(shí)間出現(xiàn)不一致的問(wèn)題
用Java在獲取了系統(tǒng)時(shí)間后,存入MySQL數(shù)據(jù)庫(kù)時(shí),當(dāng)時(shí)間的類型為datetime或Timestamp時(shí)發(fā)現(xiàn)數(shù)據(jù)庫(kù)的存儲(chǔ)與本地時(shí)間不一致。
很大原因是,MySQL設(shè)置的時(shí)區(qū)與你本地時(shí)區(qū)不一致造成的,解決辦法可以修改MySQL的時(shí)區(qū)配置,這個(gè)大家網(wǎng)上搜一下就有了。
本人推薦第二種方法
就是在數(shù)據(jù)庫(kù)連接的那個(gè)DBUtil類里根據(jù)你項(xiàng)目的實(shí)際需要進(jìn)行設(shè)置,不如我在如下代碼里更改了時(shí)區(qū)與亞洲上海同時(shí)區(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就是用來(lái)設(shè)置時(shí)區(qū)的。
在從MySQL里取出Timestamp數(shù)據(jù)時(shí),顯示到瀏覽器的時(shí)候,總會(huì)在末尾出現(xiàn)一個(gè).0,很討厭,怎么辦呢?
可以使用如下EL表達(dá)式和JSTL標(biāo)簽的將其格式化,其中l(wèi)og.date就是所查出的時(shí)間數(shù)據(jù)
<fmt:formatDate value="${log.date}" type="date" pattern="yyyy-MM-dd HH:mm:ss" />
注意:若寫成yyyy-MM-dd hh:mm:ss這樣將區(qū)分不了上午與下午
補(bǔ)充:Mysql存儲(chǔ)時(shí)間或日期錯(cuò)位問(wèn)題
這里說(shuō)一下mysql數(shù)據(jù)庫(kù)添加記錄的時(shí)候,出現(xiàn)日期錯(cuò)位一天或者時(shí)間不對(duì)的問(wèn)題。
遇到問(wèn)題的場(chǎng)景
代碼邏輯沒(méi)問(wèn)題,單步執(zhí)行發(fā)現(xiàn)存的時(shí)候日期也沒(méi)錯(cuò),但是存到數(shù)據(jù)庫(kù)日期就不對(duì)了。
原因
原因就是你配置數(shù)據(jù)源連接加的參數(shù)內(nèi)容的問(wèn)題,如果沒(méi)猜錯(cuò)你配置的serverTimezone這個(gè)參數(shù)應(yīng)該是UTC,這個(gè)是使用的時(shí)區(qū)不對(duì)導(dǎo)致存數(shù)據(jù)的時(shí)候日期錯(cuò)位。
解決辦法
把serverTimezone設(shè)置成Asia/Shanghai,如下圖,這樣再試一下,問(wèn)題就解決了。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Mysql使用存儲(chǔ)過(guò)程快速添加百萬(wàn)數(shù)據(jù)的示例代碼
這篇文章主要介紹了Mysql使用存儲(chǔ)過(guò)程快速添加百萬(wàn)數(shù)據(jù),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08mysql server is running with the --skip-grant-tables option
今天在mysql中新建數(shù)據(jù)庫(kù)提示The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement,原來(lái)是數(shù)據(jù)中配置的--skip-grant-tables,這樣安全就降低了,這個(gè)一般當(dāng)忘記root密碼的時(shí)候需要這樣操作2017-07-07優(yōu)化Mysql數(shù)據(jù)庫(kù)的8個(gè)方法
本文通過(guò)8個(gè)方法優(yōu)化Mysql數(shù)據(jù)庫(kù):創(chuàng)建索引、復(fù)合索引、索引不會(huì)包含有NULL值的列、使用短索引、排序的索引問(wèn)題、like語(yǔ)句操作、不要在列上進(jìn)行運(yùn)算、不使用NOT IN和<>操作2013-11-11MySQL中distinct和count(*)的使用方法比較
這篇文章主要針對(duì)MySQL中distinct和count(*)的使用方法比較,對(duì)兩者之間的使用方法、效率進(jìn)行了詳細(xì)分析,感興趣的小伙伴們可以參考一下2015-11-11MySQL 隨機(jī)函數(shù)獲取數(shù)據(jù)速度和效率分析
最近做項(xiàng)目,需要做一個(gè)從mysql數(shù)據(jù)庫(kù)中隨機(jī)取幾條數(shù)據(jù)出來(lái)??偹苤琽rder by rand 會(huì)死人的。。因?yàn)楸救藢?duì)大數(shù)據(jù)量方面的只是了解的很少,無(wú)解,去找百度老師。。搜索結(jié)果千篇一律。特發(fā)到這里來(lái),供大家學(xué)習(xí),需要的朋友可以參考下2016-11-11