如何將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中的datetime物件,則可以使用timestamp()獲取UTC時間戳。此函式返回該datetime物件的紀元時間。如果您有本地時區中的datetime物件,請先替換時區資訊,然後再獲取時間。

示例

以下是用例程式碼,用於將日期時間轉換為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年8月27日

29K+ 次檢視

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.