亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PostgreSQL SQLalchemy 和時間戳帶時區,為什么隱身與正常不同?

PostgreSQL SQLalchemy 和時間戳帶時區,為什么隱身與正常不同?

忽然笑 2021-10-26 18:32:26
我正在使用 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
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 278 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號