1

次の日付(2012-12-25T08:52:00-05:00)をPythonの日時オブジェクトに変換しようとしています。ただし、日付の-05:00の部分が何を参照しているのかわかりません。私は単に次のことを実行しようとしています:

datetime.datetime.strptime('2012-12-25T08:52:00-05:00','%Y-%m-%dT%H:%M:%S')

しかし、これは予想される' ValueError:未変換のデータが残っている'を思い付きます。その文字列をPythonで適切な日時オブジェクトに変換できるように、日付の最後の部分が何に使用されているかを把握しようとしています。

ハッピーホリデー!

4

2 に答える 2

5

あなたの日付はISO8601datetime形式のようですが、文字列形式の最後のタイムゾーン情報を処理しているとは思いません。

を使用できpip install python-dateutil、そのパーサーはオブジェクトを返すことができdatetimeます:

import dateutil.parser
datestr = '2012-12-25T08:52:00-05:00'
dateutil.parser.parse(datestr)
>>> datetime.datetime(2012, 12, 25, 8, 52, tzinfo=tzoffset(None, -18000)) 
于 2012-12-25T15:01:20.267 に答える
0

-05:00、UTCからのタイムゾーンオフセットを示します。つまり、%zそれを解析するための正しいstrptime引数になります。

時刻がUTCの場合、オフセットはZ、たとえばを使用して示される場合があります2012-12-25T08:52:00Z%z実際にこれを受け入れるかどうかわからない...

于 2012-12-25T14:49:02.127 に答える