0

也许我遗漏了一些明显的东西,但有谁知道为什么 dateutil 的解析器无法正确呈现下一小时?(小时应该是 20 而不是 0。)

>>> from dateutil import parser
>>> parser.parse("20130501200439+01'00'")
datetime.datetime(2013, 5, 1, 0, 4, 39, tzinfo=tzoffset(None, 3600))

添加一个T

>>> parser.parse("20130501T200439+01'00'") # added T
datetime.datetime(2013, 5, 1, 0, 4, 39, tzinfo=tzoffset(None, 3600))

添加ignoretz

>>> parser.parse("20130501T200439+01'00'", ignoretz=True) # ignore timezone
datetime.datetime(2013, 5, 1, 0, 4, 39)

尝试不同的时间:

>>> parser.parse("20130501T030439+01'00'") # should render hour as 3
datetime.datetime(2013, 5, 1, 0, 4, 39, tzinfo=tzoffset(None, 3600))
4

1 回答 1

1

解析器似乎不接受字符串中 tz 数据的形式。删除单引号似乎有效:

>>> parser.parse("20130501200439+01'00'".replace("'", ""))
datetime.datetime(2013, 5, 1, 20, 4, 39, tzinfo=tzoffset(None, 3600))
于 2013-05-12T04:05:46.113 回答