解決mysql時(shí)區(qū)問(wèn)題導(dǎo)致錯(cuò)誤Incorrect datetime value: '1970-01-01 00:00:01'
mysql時(shí)區(qū)錯(cuò)誤Incorrect datetime value: '1970-01-01 00:00:01'
手冊(cè)中的描述:
A timestamp. The range is ‘1970-01-01 00:00:01’ UTC to ‘2038-01-19
03:14:07’ UTC.
注意末尾的UTC,此為世界協(xié)調(diào)時(shí),指的是經(jīng)度0度上的標(biāo)準(zhǔn)時(shí)間。
官方文檔中描述:
MySQL converts TIMESTAMP values from the current time zone to UTC for
storage, and back from UTC to the current time zone for retrieval.
(This does not occur for other types such as DATETIME.) By default,
the current time zone for each connection is the server’s time. The
time zone can be set on a per-connection basis. As long as the time
zone setting remains constant, you get back the same value you store.
If you store a TIMESTAMP value, and then change the time zone and
retrieve the value, the retrieved value is different from the value
you stored. This occurs because the same time zone was not used for
conversion in both directions. The current time zone is available as
the value of the time_zone system variable.
文中說(shuō)到,在存儲(chǔ)時(shí)會(huì)根據(jù)當(dāng)前環(huán)境的的時(shí)區(qū)轉(zhuǎn)換為UTC存儲(chǔ)。
而環(huán)境中的時(shí)區(qū)為CST中國(guó)標(biāo)準(zhǔn)時(shí)間,比UTC要早8個(gè)小時(shí),常見(jiàn)表示為GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)。
也正是如此,輸入的值存儲(chǔ)時(shí)需要加八個(gè)小時(shí)再存儲(chǔ),對(duì)應(yīng)過(guò)來(lái)timestamp的時(shí)間范圍表示為’1970-01-01 08:00:01’ and ‘2038-01-19 11:14:07’。
1970-01-01 08:00:00 時(shí)間由來(lái)
在用ng的date過(guò)濾服務(wù)的時(shí)候時(shí)間戳0會(huì)轉(zhuǎn)換成1970-01-01 08:00:00;
是因?yàn)槠鹪从赨NIX系統(tǒng),以Unix誕生的時(shí)間為參照確定的,UNIX認(rèn)為1970年1月1日0點(diǎn)是時(shí)間紀(jì)元,現(xiàn)代計(jì)算機(jī)(電話,電子設(shè)備)時(shí)間以1970 年 1 月 1 日的 08:00為基準(zhǔn),
在時(shí)間轉(zhuǎn)換時(shí),或者時(shí)間重置時(shí)都會(huì)出現(xiàn)這個(gè)時(shí)間值,unix時(shí)間戳零點(diǎn)是 1970年1月1日0點(diǎn)整(utc),北京是gmt 8所以變成八點(diǎn)。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL算術(shù)/比較/邏輯/位/運(yùn)算符與正則舉例詳解
每種數(shù)據(jù)庫(kù)都支持SQL語(yǔ)句,但是它們也都有各自支持的運(yùn)算符,下面這篇文章主要給大家介紹了關(guān)于MySQL算術(shù)/比較/邏輯/位/運(yùn)算符與正則的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02MySQL 5.7.29 + Win64 解壓版 安裝教程圖文詳解
這篇文章主要介紹了MySQL 5.7.29 + Win64 解壓版 安裝教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05mysql-8.0.16 winx64的最新安裝教程圖文詳解
最近剛學(xué)習(xí)數(shù)據(jù)庫(kù),首先是了解數(shù)據(jù)庫(kù)是什么,數(shù)據(jù)庫(kù)、數(shù)據(jù)表的基本操作,這就面臨了一個(gè)問(wèn)題,mysql的安裝,我這里下載的是64位的,基于Windows的,需要的朋友可以參考下2019-06-06Mac OS系統(tǒng)下mysql 5.7.20安裝教程圖文詳解
這篇文章主要介紹了Mac OS系統(tǒng)下mysql 5.7.20安裝教程圖文詳解,本文給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-11-11linux下mysql提示"mysql deamon failed to start"錯(cuò)誤的解決方法
網(wǎng)站突然連接不上數(shù)據(jù)庫(kù),于是朋友直接重啟了一下服務(wù)器。進(jìn)到cli模式下,執(zhí)行 service myqsld start 發(fā)現(xiàn)還是提示"mysql deamon failed to start"錯(cuò)誤信息2013-04-04idea 設(shè)置MySql主鍵的實(shí)現(xiàn)步驟
在IDE開(kāi)發(fā)工具中也是可以使用mysql的,本文主要介紹了idea 設(shè)置MySql主鍵的實(shí)現(xiàn)步驟,文中通過(guò)圖文的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-03-03