0

おそらく私は明らかな何かを見逃していますが、dateutil のパーサーが次の時間を正しくレンダリングできない理由を知っている人はいますか? (時間は 0 ではなく 20 にする必要があります。)

>>> 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 に答える