我正在使用 Flask sqlalchemy 和 postgreSQL 并且顯示的日期時間有問題,在調查這個問題時我發現了另一個奇怪的事情:在隱身模式(chrome 瀏覽器選項卡)下創建數據庫條目會給出不同/錯誤的時間。編輯:它與隱身模式無關,這兩種情況也發生在正常模式下。我還沒有弄清楚為什么。這是代碼:我更改了數據庫的默認時區:ALTER DATABASE postgres SET timezone TO 'Europe/Berlin';該模型:class User(UserMixin, Base): __tablename__ = 'users' date_added = Column(DateTime(timezone=True), nullable=False)我用來將日期時間添加到數據庫的方法:date_added=datetime.today()它在數據庫中的外觀(此時我的本地時間是 13:53:46):不在隱身模式下創建條目timestamp with time zone2019-02-01 13:53:46.73817+01在隱身模式下創建條目timestamp with time zone2019-02-01 12:53:46.73817+01這真的讓我擔心。這是錯誤的。即使我將日期時間對象轉換為本地時間。兩個條目同時完成,但顯示不同的結果,這怎么可能?同樣在 HTML 中查看這些日期時,postgreSQL 不會應用偏移量,因此第一個日期看起來正確,但第二個日期是錯誤的。最初我只是想找到一種方法來在歐洲/柏林存儲所有日期時間對象并在歐洲/柏林時間返回它們,所以我不必將 UTC 轉換為歐洲/柏林,但現在我認為出現了可怕的錯誤。我也到處都仔細檢查了我的代碼,我沒有使用其他方法來操作日期時間對象。編輯每次用戶登錄時,我都會保存一個日期時間。目前我在非隱身模式下嘗試過。我的本地時間是14:13:33但它保存到數據庫中: 2019-02-01 13:13:33.804339+01。這怎么可能?我知道它不能是隨機的,但現在看起來它的保存時間是隨機的,有時是帶有偏移量的 UTC,有時是帶有偏移量的歐洲/柏林。編輯我仔細檢查了所有有問題的表格SHOW timezone;,它們都正確返回Europe/Berlin
添加回答
舉報
0/150
提交
取消