我需要以以下格式解析时区描述:“ UTC + 01:00”。
我该如何实现?
答案 0 :(得分:2)
使用 qcStatements (OID: 1.3.6.1.5.5.7.1.3)
中的strptime()
。
datetime.datetime
您必须考虑时区涉及日期。 You cannot parse textual representations of timestamps with timezones without knowing what date this time is in,因此省略日期(默认为1900-01-01)是很可能会破解的 hack 。您需要输入正确的日期。
使用正则表达式。
>>> from datetime import datetime, timezone, timedelta as td
>>> t = datetime.strptime('13:56:30 UTC-04:00', '%H:%M:%S UTC%z')
>>> tz = t.tzinfo
>>> t
datetime.datetime(1900, 1, 1, 13, 56, 30, tzinfo=datetime.timezone(datetime.td(days=-1, seconds=68400)))
>>> print(t)
1900-01-01 13:56:30-05:00
>>> tz
datetime.timezone(datetime.timedelta(days=-1, seconds=68400))
>>> print(t.astimezone(timezone.utc))
1900-01-01 18:56:30+00:00