Python 將日期時間轉換為紀元
- 在 Python 中使用顯式方法將日期時間轉換為紀元
-
在 Python 中使用
timestamp()
函式將日期時間轉換為紀元 -
在 Python 中使用
strftime(format)
函式將日期時間轉換為紀元 -
在 Python 中使用
timegm
函式將 DateTime 轉換為紀元
datetime
庫可以匯入到 Python 程式中。它在 Python 程式碼中提供了用於處理日期和時間的類。
epoch 是測量經過時間的起點,其值通常會有所不同,並取決於所使用的平臺。
本教程將討論在 Python 中將日期時間轉換為紀元的不同方法。
在 Python 中使用顯式方法將日期時間轉換為紀元
在這種方法中,我們採用當前日期,並從開始日期中手動減去當前日期,然後使用 total_seconds()
函式並顯示以秒為單位進行轉換。
此處的初始日期是 1970/1/1。
下面的程式碼在 Python 中使用顯式方法將日期時間轉換為紀元。
import datetime
ts = (
datetime.datetime(2019, 12, 1, 0, 0) - datetime.datetime(1970, 1, 1)
).total_seconds()
print(ts)
輸出:
1575158400.0
在 Python 中使用 timestamp()
函式將日期時間轉換為紀元
時間戳是一系列字元,指示特定事件何時發生的值。
Python 提供了 timestamp()
函式,該函式可用於獲取自 epoch 以來的 datetime 時間戳。
以下程式碼使用 timestamp()
函式在 Python 中將日期時間轉換為紀元。
import datetime
ts = datetime.datetime(2019, 12, 1, 0, 0).timestamp()
print(ts)
輸出:
1575158400.0
這是一種相當簡單的方法,可為我們提供準確的輸出。
請注意,timestamp()
函式僅適用於 Python 3.3+,不適用於舊版本的 Python。
在 Python 中使用 strftime(format)
函式將日期時間轉換為紀元
strftime(format)
方法用於根據使用者指定的格式將物件轉換為字串。
對於此過程的相反過程,使用了 strptime()
方法。
以下程式碼使用 strftime(format)
方法在 Python 中將日期時間轉換為紀元。
import datetime
ts = datetime.datetime(2019, 12, 1, 0, 0).strftime("%s")
print(ts)
輸出:
1575158400
strftime(format)
可能並不總是提供正確的解決方案。此方法使用%s
指令作為 strftime
的引數,而 Python 實際上並不支援該引數。之所以可行,是因為 Python 將%s
轉發到系統的 strftime
方法。
此方法不是將日期時間轉換為紀元的最準確方法。不建議僅因為有更好,更準確的方法而使用此方法。
在 Python 中使用 timegm
函式將 DateTime 轉換為紀元
timegm()
函式採用一個特定的時間值,並返回其相應的 Unix 時間戳值。紀元取為 1970,並假定為 POSIX 編碼。time.gmtime()
和 timegm()
函式彼此相反。
calendar
和 time
庫都需要被匯入 Python 程式以使用這些函式。
calendar
模組使我們能夠輸出日曆以及與此相關的一些其他有用功能。
以下程式碼使用 timegm()
函式將日期時間轉換為紀元。
import datetime
import calendar
d = datetime.datetime(2019, 12, 1, 0, 0)
print(calendar.timegm(d.timetuple()))
輸出:
1575158400
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn