當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python Datetime轉UTC Timestamp用法及代碼示例


處理日期時間對象和時間戳是編程中的一項常見任務,尤其是在處理 time-sensitive 數據時。使用不同時區時,通常需要將日期時間對象轉換為 UTC 時間戳。在Python 中,有多種方法可以實現這一點。在本文中,我們將探討將 DateTime 轉換為 UTC 時間戳的四種不同方法。

在 Python 中將日期時間轉換為 UTC 時間戳

以下是將日期時間轉換為 UTC 時間戳的方法Python.

使用以下命令將日期時間轉換為 UTC 時間戳datetime.timestamp()

在此示例中,DateTime下麵的代碼創建一個日期時間對象`dt`,表示 2024 年 1 月 25 日中午 12:00。然後,它使用“replace()”方法將時區設置為 UTC,並使用“timestamp()”方法獲取 POSIX 時間戳,將此日期時間對象轉換為 UTC 時間戳。

Python3


from datetime import datetime, timezone
# Create a datetime object
dt = datetime(2024, 1, 25, 12, 0, 0)
# Convert to UTC timestamp using timestamp() method
timestamp_utc = dt.replace(tzinfo=timezone.utc).timestamp()
print("Datetime:",dt)
print("UTC Timestamp:", timestamp_utc)

輸出:

Datetime: 2024-01-25 12:00:00
UTC Timestamp: 1706184000.0

使用以下命令將日期時間轉換為 UTC 時間戳calendar.timegm()

在此示例中,下麵的代碼利用 `calendar` 模塊和 `timegm()` 函數將日期時間對象 `dt`(表示 2024 年 1 月 25 日中午 12:00)轉換為 UTC 時間戳。它使用“utctimetuple()”從日期時間對象中提取 UTC 時間元組,然後使用“timegm()”計算 UTC 時間戳。

Python3


import calendar
from datetime import datetime
# Create a datetime object
dt = datetime(2024, 1, 25, 12, 0, 0)
# Convert to UTC timestamp using timegm() function
timestamp_utc = calendar.timegm(dt.utctimetuple())
print("Datetime:", dt)
print("UTC Timestamp:", timestamp_utc)

輸出:

Datetime: 2024-01-25 12:00:00
UTC Timestamp: 1706184000

使用以下命令將日期時間轉換為 UTC 時間戳pytz Library

在此示例中,以下代碼使用 `pytz` 庫將日期時間對象 `dt`(表示 2024 年 1 月 25 日中午 12:00)轉換為 UTC 時間戳。它首先使用“pytz.utc.localize()”將日期時間對象本地化為 UTC 時區。然後,它通過使用`timestamp()`方法轉換本地化的日期時間對象來獲取UTC時間戳。

Python3


import pytz
from datetime import datetime
# Create a datetime object
dt = datetime(2024, 1, 25, 12, 0, 0)
# Set the timezone to UTC
dt_utc = pytz.utc.localize(dt)
# Convert to UTC timestamp
timestamp_utc = int(dt_utc.timestamp())
print("Datetime:", dt)
print("UTC Timestamp:", timestamp_utc)

輸出:

Datetime: 2024-01-25 12:00:00
UTC Timestamp: 1706184000

Convert A Datetime To A Utc Timestamp U唱time.mktime()

在此示例中,以下代碼創建 2024 年 1 月 25 日中午 12:00 的日期時間對象,然後使用“time.mktime”函數將其轉換為 UTC 時間戳。打印原始日期時間及其相應的 UTC 時間戳。此方法假設日期時間對象位於 UTC 時區,或者在應用“mktime()”之前不需要時區調整。

Python3


import time
from datetime import datetime
# Create a datetime object
dt = datetime(2024, 1, 25, 12, 0, 0)
# Convert to UTC timestamp using time.mktime
timestamp_utc = int(time.mktime(dt.timetuple()))
print("Datetime:", dt)
print("UTC Timestamp:", timestamp_utc)

輸出:

Datetime: 2024-01-25 12:00:00
UTC Timestamp: 1706184000

結論

總之,Python 提供了多種將日期時間對象轉換為 UTC 時間戳的方法,以滿足不同的偏好和用例。是否利用內置函數,例如timestamp()或者time.mktime,使用像這樣的庫pytz或者arrow,甚至依靠手動數學運算,開發人員可以選擇最適合其編碼風格和項目要求的方法。



相關用法


注:本文由純淨天空篩選整理自kokaneit92大神的英文原創作品 Convert Datetime to UTC Timestamp in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。