也许我遗漏了一些显而易见的东西,但有没有人知道为什么来自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))
答案 0 :(得分:1)
解析器似乎不接受字符串中tz数据的形式。删除单引号似乎有效:
>>> parser.parse("20130501200439+01'00'".replace("'", ""))
datetime.datetime(2013, 5, 1, 20, 4, 39, tzinfo=tzoffset(None, 3600))