处理日期时间对象和时间戳是编程中的一项常见任务,尤其是在处理 time-sensitive 数据时。使用不同时区时,通常需要将日期时间对象转换为 UTC 时间戳。在Python 中,有多种方法可以实现这一点。在本文中,我们将探讨将 DateTime 转换为 UTC 时间戳的四种不同方法。
在 Python 中将日期时间转换为 UTC 时间戳
以下是将日期时间转换为 UTC 时间戳的方法Python.
- 使用
datetime.timestamp()
- 使用
calendar.timegm()
- 使用
pytz
Library U
唱歌time.mktime()
使用以下命令将日期时间转换为 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
,甚至依靠手动数学运算,开发人员可以选择最适合其编码风格和项目要求的方法。
相关用法
- Python Datetime.replace()用法及代码示例
- Python Datetime today方法用法及代码示例
- Python Datetime Time构造函数用法及代码示例
- Python Datetime utcnow方法用法及代码示例
- Python Datetime Date构造函数用法及代码示例
- Python Datetime Timedelta构造函数用法及代码示例
- Python Datetime fromtimestamp方法用法及代码示例
- Python Datetime strptime方法用法及代码示例
- Python Datetime strftime方法用法及代码示例
- Python Datetime Datetime构造函数用法及代码示例
- Python Datetime now方法用法及代码示例
- Python Datetime utcfromtimestamp方法用法及代码示例
- Python Datetime fromisoformat方法用法及代码示例
- Python DateTime weekday()用法及代码示例
- Python DateTime astimezone()用法及代码示例
- Python DateTime转integer用法及代码示例
- Python Date转Datetime用法及代码示例
- Python DateTime转UNIX Timestamp用法及代码示例
- Python DataFrame.read_pickle()用法及代码示例
- Python DataFrame.to_excel()用法及代码示例
- Python Dictionary clear()用法及代码示例
- Python Dictionary copy()用法及代码示例
- Python Dictionary fromkeys()用法及代码示例
- Python Dictionary get()用法及代码示例
- Python Dictionary items()用法及代码示例
注:本文由纯净天空筛选整理自kokaneit92大神的英文原创作品 Convert Datetime to UTC Timestamp in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。