如何將 Python 日期轉換為 Unix 時間戳?


UNIX 時間戳是從紀元開始計算的總秒數。紀元是時間的起點,並且取決於平臺。在 Windows 和大多數 Unix 系統上,紀元是 1970 年 1 月 1 日 00:00:00(UTC),並且自紀元以來的時間(以秒為單位)中不包括閏秒。

在本文中,我們將瞭解如何將 Python 日期轉換為 UNIX 時間戳。

日期時間轉換為 UNIX 時間戳

在這裡,我們使用 time.mktime() 方法 將 Python 日期轉換為 UNIX 時間戳。在此示例中,我們最初匯入了 datetime 模組。然後我們宣告並分配了一個 datetime.time/date(2022, 6, 3, 12, 0, 50)。time.mktime() 是本地時間的反函式。time.mktime() 方法接受 time.struct_time 物件或包含 9 個元素的元組,並返回一個浮點值,該值表示自紀元以來的時間(以秒為單位)。

語法

mktime() 方法的語法如下所示。

time.mktime(t)

其中,t 是 time.struct_time 物件或包含 9 個元素的元組,這些元素對應於 time.struct_time 物件。

datetime.date 例項的 timetuple() 方法返回一個 time.struct_time 型別的物件。此物件使用 time.mktime() 方法轉換為 UNIX 時間戳。

示例

以下是一個將 Python 日期轉換為 UNIX 時間戳的示例程式碼。

import datetime import time date_time = datetime.datetime(2022, 6, 3, 12, 0, 50) print("Given Date:",date_time) print("UNIX timestamp:", (time.mktime(date_time.timetuple())))

輸出

以上程式碼的輸出如下所示:

Given Date: 2022-06-03 12:00:50
UNIX timestamp: 1654257650.0

日期時間到 UTC 時區的 UNIX 時間戳。

在這裡,我們可以使用 datetime 模組將日期時間轉換為 Python 中的 UTC 時間戳。如果您已經擁有 UTC 中的日期時間物件,則可以使用 timestamp() 獲取 UTC 時間戳。此函式返回該日期時間物件自紀元以來的時間。如果您在本地時區中擁有日期時間物件,請先替換時區資訊,然後再獲取時間。

示例

以下是一個將日期時間轉換為 UNIX 時間戳的示例程式碼。

import datetime from datetime import timezone dt = datetime.datetime(2022, 6, 7) timestamp = dt.replace(tzinfo=timezone.utc).timestamp() print("The timestamp for the date 06-07-2022 is:",timestamp)

輸出

The timestamp for the date 06-07-2022 is: 1654560000.0

日期時間字串轉換為 UNIX 時間戳

在這種情況下,我們將以字串格式表示的日期時間轉換為 UNIX 時間戳。

示例

import datetime given_date = "8/6/2022, 05:54:8" formated_date = datetime.datetime.strptime(given_date,"%m/%d/%Y, %H:%M:%S") Unix_timestamp = datetime.datetime.timestamp(formated_date) print("The Unix timestamp for the given input date is:") print(Unix_timestamp)

輸出

The Unix timestamp for the given input date is:
1659765248.0

更新於: 2023-08-27

30K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告