我從 API 獲得時間戳。當我轉換它時:
timestamp = datetime.fromtimestamp(json.loads(m)["_timestamp"], tz=pytz.timezone('Europe/Berlin'))
當我列印它時,我在控制臺中得到了正確的時間:
2021-11-10 15:22:26 01:00
但是當我將它保存到資料庫時:
BedTemperatureHistory.objects.create(TimeStamp=timestamp)
時間戳在資料庫中看起來像這樣(少一小時):
2021-11-10 14:22:26.000000 00:00
我的時區設定如下所示:
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'Europe/Berlin'
USE_I18N = True
USE_L10N = True
USE_TZ = False
有誰知道我需要做什么才能在我的資料庫中保存正確的時間戳?
uj5u.com熱心網友回復:
您需要在設定中啟用時區支持。
USE_TZ = True
編輯: 時間戳實際上已正確存盤在您的問題中。你會注意到這兩個時間實際上是一樣的,15:22 01:00 和 14:22 00:00 是一樣的。Django 以 UTC 存盤日期時間,以避免夏令時問題:
Django 將日期時間資訊以 UTC 格式存盤在資料庫中,在內部使用時區感知日期時間物件,并在模板和表單中將它們轉換為最終用戶的時區。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/355212.html
