【发布时间】:2016-07-18 15:32:07
【问题描述】:
我有一个可识别时区的 Python 日期时间字符串,需要将其转换为 UTC 时间戳。
'2016-07-15T10:00:00-06:00'
大多数 SO 链接都讨论了以 UTC 格式获取当前日期时间,但没有讨论将给定的日期时间转换为 UTC。
【问题讨论】:
标签: python
我有一个可识别时区的 Python 日期时间字符串,需要将其转换为 UTC 时间戳。
'2016-07-15T10:00:00-06:00'
大多数 SO 链接都讨论了以 UTC 格式获取当前日期时间,但没有讨论将给定的日期时间转换为 UTC。
【问题讨论】:
标签: python
嗨,这有点棘手,但这是我的,可能远非完美的答案:
[IN]
import datetime
import pytz
date_str = '2016-07-15T10:00:00-06:00'
# Have to get rid of that bothersome final colon for %z to work
datetime_object = datetime.datetime.strptime(date_str[:-3] + date_str[-2:],
'%Y-%m-%dT%H:%M:%S%z')
datetime_object.astimezone(pytz.utc)
[OUT]
datetime.datetime(2016, 7, 15, 16, 0, tzinfo=<UTC>)
【讨论】:
%z 支持并不普遍,请参阅stackoverflow.com/questions/26165659/…。它是一个冒号,而不是一个分号。