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

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

datetime.timestamp() 丟失時間(一小時)

datetime.timestamp() 丟失時間(一小時)

喵喵時光機 2021-06-11 15:09:25
我遇到了這個問題,但經過一些研究后找到了解決方案。我在下面發布了我的答案以顯示我的發現。如果有人有其他建議,請發布。我需要將datetime.datime對象轉換為 Unix 時間戳。我嘗試使用 datetime.timestamp。我發現結果比我預期的晚了 1 小時。我能夠使用以下內容復制此問題。from datetime import datetime, timestampdt = datetime.utcfromtimestamp(1438956602.0)dt 現在等于 datetime.datetime(2015, 8, 7, 14, 10, 2)然后:dt_stamp = datetime.timestamp(dt)這給出了dt_stamp = 1438953002.0(與我們原來的時間戳不同)。如果我們將其轉換回日期時間datetime.utcfromtimestamp(dt_stamp)我們得到:datetime.datetime(2015, 8, 7, 13, 10, 2)這比我們原來的時間早了一個小時。對于上下文,我使用的是 Python 3 并且位于英國,我們目前使用的是英國夏令時(UTC 時間提前 1 小時)。我的解決方案可以在下面找到。如果您認為我的解釋中遺漏了任何內容或有更好的解決方案,請發布您自己的答案。
查看完整描述

3 回答

?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

我最近遇到了同樣的問題,我的情況是英國一位敵對者的部分 EDF 記錄有一個小時的偏差,這被認為是由于英國夏令時。
以下是我的情況的解決方案。

from datetime import datetime as dt

請用

dt = dt.utcfromtimestamp(#YOUR_TIME_STAMP)

代替

dt = dt.fromtimestamp(#YOUR_TIME_STAMP)


查看完整回答
反對 回復 2021-06-16
?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

我認為您需要一個所謂的感知日期時間對象。Aware 意味著它現在是您的時差:

datetime.fromtimestamp(timestamp, timezone(timedelta(hours=1)))

用那行代碼試試,timestamp你的 Unix 時間戳在哪里。


查看完整回答
反對 回復 2021-06-16
  • 3 回答
  • 0 關注
  • 372 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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