将给定的 UTC 时间戳字符串转换为 unix 时间戳

Convert given UTC timestamp string to unix timestamp

我正在为这个小片段而苦苦挣扎:

import time
from datetime import datetime

start = "2022-05-14T10:00:00"
start_date = datetime.fromisoformat(start)
start_unix = time.mktime(start_date.timetuple())

print(start_unix)
#1652515200.0

当我在不同的时区时,无论它看起来如何,开始日期都是 UTC。 Python 威胁这个日期时间 string/object 因为它与我处于同一时区。 如何以最简单的方式转换日期时间字符串对象以获得正确的 UNIX 时间戳? 预期结果应该是:

1652522400.0

将生成的日期时间对象的 tzinfo 设置为 UTC(replace 方法),然后调用感知日期时间对象的 .timestamp() 方法。例如:

from datetime import datetime, timezone

start = "2022-05-14T10:00:00"
start_unix = datetime.fromisoformat(start).replace(tzinfo=timezone.utc).timestamp()

print(start_unix)
# 1652522400.0