对于给定的日期字符串,例如2009-01-01T12:00:00+0100
我想要的UTC datetime对象。
from datetime import datetime
datetime.strptime("2013-03-21T14:19:42+0100", "%Y-%m-%dT%H:%M:%S%z")
退货
datetime.datetime(2013, 3, 21, 14, 19, 42, tzinfo=datetime.timezone(datetime.timedelta(0, 3600)))
我不敢相信在方法中datetime
或没有pandas
将与时区相关的偏移量应用于datetime并返回纯UTC datetime的方法。
如何应用tzinfo
偏移量/增量,以使所得时区为普通UTC(tzinfo=None
)?
感觉有点脏,但确实有效
from datetime import datetime
orig_dt = datetime.strptime("2013-03-21T14:19:42+0100", "%Y-%m-%dT%H:%M:%S%z") # datetime.datetime(2013, 3, 21, 14, 19, 42, tzinfo=datetime.timezone(datetime.timedelta(0, 3600)))
utc_time_value = orig_dt - orig_dt.utcoffset()
utc_dt = utc_time_value.replace(tzinfo=None) # datetime.datetime(2013, 3, 21, 13, 19, 42)
感谢您的解决方案。我真的希望有一个内置的方法可以做到这一点。我无法想象这是一个不常见的意图,不是吗?