解決mysql時區(qū)問題導致錯誤Incorrect datetime value: '1970-01-01 00:00:01'
mysql時區(qū)錯誤Incorrect datetime value: '1970-01-01 00:00:01'
手冊中的描述:
A timestamp. The range is ‘1970-01-01 00:00:01’ UTC to ‘2038-01-19
03:14:07’ UTC.
注意末尾的UTC,此為世界協(xié)調(diào)時,指的是經(jīng)度0度上的標準時間。
官方文檔中描述:
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.
文中說到,在存儲時會根據(jù)當前環(huán)境的的時區(qū)轉(zhuǎn)換為UTC存儲。
而環(huán)境中的時區(qū)為CST中國標準時間,比UTC要早8個小時,常見表示為GMT+0800 (中國標準時間)。
也正是如此,輸入的值存儲時需要加八個小時再存儲,對應過來timestamp的時間范圍表示為’1970-01-01 08:00:01’ and ‘2038-01-19 11:14:07’。
1970-01-01 08:00:00 時間由來
在用ng的date過濾服務的時候時間戳0會轉(zhuǎn)換成1970-01-01 08:00:00;
是因為起源于UNIX系統(tǒng),以Unix誕生的時間為參照確定的,UNIX認為1970年1月1日0點是時間紀元,現(xiàn)代計算機(電話,電子設(shè)備)時間以1970 年 1 月 1 日的 08:00為基準,
在時間轉(zhuǎn)換時,或者時間重置時都會出現(xiàn)這個時間值,unix時間戳零點是 1970年1月1日0點整(utc),北京是gmt 8所以變成八點。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL算術(shù)/比較/邏輯/位/運算符與正則舉例詳解
每種數(shù)據(jù)庫都支持SQL語句,但是它們也都有各自支持的運算符,下面這篇文章主要給大家介紹了關(guān)于MySQL算術(shù)/比較/邏輯/位/運算符與正則的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-02-02MySQL 5.7.29 + Win64 解壓版 安裝教程圖文詳解
這篇文章主要介紹了MySQL 5.7.29 + Win64 解壓版 安裝教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05mysql-8.0.16 winx64的最新安裝教程圖文詳解
最近剛學習數(shù)據(jù)庫,首先是了解數(shù)據(jù)庫是什么,數(shù)據(jù)庫、數(shù)據(jù)表的基本操作,這就面臨了一個問題,mysql的安裝,我這里下載的是64位的,基于Windows的,需要的朋友可以參考下2019-06-06Mac OS系統(tǒng)下mysql 5.7.20安裝教程圖文詳解
這篇文章主要介紹了Mac OS系統(tǒng)下mysql 5.7.20安裝教程圖文詳解,本文給大家介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下2017-11-11linux下mysql提示"mysql deamon failed to start"錯誤的解決方法
網(wǎng)站突然連接不上數(shù)據(jù)庫,于是朋友直接重啟了一下服務器。進到cli模式下,執(zhí)行 service myqsld start 發(fā)現(xiàn)還是提示"mysql deamon failed to start"錯誤信息2013-04-04idea 設(shè)置MySql主鍵的實現(xiàn)步驟
在IDE開發(fā)工具中也是可以使用mysql的,本文主要介紹了idea 設(shè)置MySql主鍵的實現(xiàn)步驟,文中通過圖文的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧2024-03-03