簡體   English   中英

在tz更改中停止自動在MySQL中更改日期

[英]Stop changing dates automatically in MySQL on tz change

我正在使用DATETIME字段將日期存儲在MySQL中。 沒有直接指定任何時區(只有datetime列)

但是,當在服務器上更改時區時,MySQL會根據新時區更新所有datetime列。

實際上是改用EDT的原因。

我不需要自動重新計算日期-只需在其中存儲特定日期即可。

因此,即使從EST日期手動更改為UTC的tz也應該相同(從字符POV開始),如果它是2016-01-01 18:55,則在任何新tz中也應該相同。

我沒有運行任何腳本\\查詢來更新日期。

因此,它是由MySQL本身或由服務器執行的。

需要建議,我需要檢查什么才能找到並禁用此功能。

確保您使用的是DATETIME而不是TIMESTAMP

[摘自MySQL文檔] [1]:

MySQL將TIMESTAMP值從當前時區轉換為UTC進行存儲,然后從UTC返回當前時區進行檢索。 (對於其他類型,例如DATETIME ,不會發生這種情況。)

您還應該查看這篇文章(重復): 更改MySQL時區會更改數據庫中DateTime字段的值嗎?

很抱歉,我帶來的混亂只是擴展了查詢以獲取一些舊日期-而且看起來沒有變化

所以錯誤地在我的代碼中..

無論如何-感謝您的幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM