我遇到了這個問題,但經過一些研究后找到了解決方案。我在下面發布了我的答案以顯示我的發現。如果有人有其他建議,請發布。我需要將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)

守著一只汪
TA貢獻1872條經驗 獲得超4個贊
我認為您需要一個所謂的感知日期時間對象。Aware 意味著它現在是您的時差:
datetime.fromtimestamp(timestamp, timezone(timedelta(hours=1)))
用那行代碼試試,timestamp
你的 Unix 時間戳在哪里。
添加回答
舉報
0/150
提交
取消