8

JSON Webサービスでデフォルトのpython日時文字列形式を使用しています。

次に、実際の日時と比較しようとしています。また、タイムゾーンも使用していpytz.utcます。

ここに私の文字列の日付があります:

print date
2013-02-26 21:28:37.261134+01:00

文字列を日時に変換しようとしています(タイムゾーンを編集してpytzください):

if datetime.strptime(date, '%Y-%m-%d %H:%M:%S.%f+%Z') < datetime.now(pytz.utc):

残念ながら、うまくいきません。

ValueError: time data '2013-02-26 21:28:37.261134+01:00' does not match format '%Y-%m-%d %H:%M:%S.%f%Z'

strptime私の日付を使用するために、フォーマットの正しい構文を教えてもらえますか?

4

1 に答える 1

7

基本的に、これは datetime モジュールが利用可能なタイムゾーンを事前に認識していないためです。それはちょっと不自由です。

dateutilの使用をお勧めします。これはサードパーティのパッケージですが、ドアの外で文字列を解析します。

>>> import dateutil.parser
>>> dateutil.parser.parse('2013-02-26 21:28:37.261134+01:00')                                                                                                                                                                                                                  
datetime.datetime(2013, 2, 26, 21, 28, 37, 261134, tzinfo=tzoffset(None, 3600))
于 2013-02-27T20:11:22.447 に答える