首頁 >後端開發 >Python教學 >如何準確地將Python日期時間物件轉換為紀元時間戳記?

如何準確地將Python日期時間物件轉換為紀元時間戳記?

Susan Sarandon
Susan Sarandon原創
2024-11-17 09:34:03579瀏覽

How to Accurately Convert Python Datetime Objects to Epoch Timestamps?

使用strftime 將Python 日期時間轉換為紀元

使用strftime('% 將Python 日期時間時s') 格式,您可能會遇到意想不到的結果。您可能會得到一個相差一小時的值,而不是距離紀元的正確秒數。這是因為 strftime 會考慮系統時區並套用時區轉換。

解決方案:

要避免此問題並獲取正確的紀元時間戳,有多種選項可用:

Python 3.3和稍後:

  • 使用timestamp() 方法:

    >>> datetime.datetime(2012, 4, 1, 0, 0).timestamp()
    1333234800.0

Python 3.2 或更早版本:

  • 執行轉換明確:

    >>> (datetime.datetime(2012, 4, 1, 0, 0) - datetime.datetime(1970, 1, 1)).total_seconds()
    1333238400.0

避免使用strftime('%s'):

要注意的是,%s 不受官方支持通過Python的strftime函數。其功能取決於系統的 strftime 實現,該實現可能因不同平台而異並引入時區差異。因此,建議使用上述方法進行準確的紀元時間戳轉換。

以上是如何準確地將Python日期時間物件轉換為紀元時間戳記?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn