dateutil中的解析器无法正确呈现小时

时间:2013-05-12 01:31:57

标签: python python-dateutil

也许我遗漏了一些显而易见的东西,但有没有人知道为什么来自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))

1 个答案:

答案 0 :(得分:1)

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

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