Python 將日期時間轉換為紀元

Vaibhhav Khetarpal 2023年1月30日
  1. 在 Python 中使用顯式方法將日期時間轉換為紀元
  2. 在 Python 中使用 timestamp() 函式將日期時間轉換為紀元
  3. 在 Python 中使用 strftime(format) 函式將日期時間轉換為紀元
  4. 在 Python 中使用 timegm 函式將 DateTime 轉換為紀元
Python 將日期時間轉換為紀元

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() 函式彼此相反。

calendartime 庫都需要被匯入 Python 程式以使用這些函式。

calendar 模組使我們能夠輸出日曆以及與此相關的一些其他有用功能。

以下程式碼使用 timegm() 函式將日期時間轉換為紀元。

import datetime
import calendar

d = datetime.datetime(2019, 12, 1, 0, 0)
print(calendar.timegm(d.timetuple()))

輸出:

1575158400
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

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

相關文章 - Python DateTime