2014-01-16 14 views
12

ユニコードオブジェクトをdatetimeオブジェクトに変換しようとしています。 http://docs.python.org/2/library/time.html#time.strptimeユニコードをdatetimeの正しいstrptime形式に変換する

とは

datetime.strptime(date_posted, '%Y-%m-%dT%H:%M:%SZ') 

を試してみましたが、私はエラーメッセージValueError: time data '2014-01-15T01:35:30.314Z' does not match format '%Y-%m-%dT%H:%M:%SZ'

適切な形式であるものを上の任意のフィードバックを得る:

私は、ドキュメントを読んで?

私は時間と専門知識を高く評価します。

+0

あなたは間違ったドキュメントを読んでいます。 'time.strptime'と' datetime.datetime.strptime'は明らかに_similar_関数ですが、それらは完全に別々に実装されています(2.6以上)。 ( 'time'はちょうどあなたのプラットフォームのCライブラリを呼び出すだけです;' datetime'はあなたのプラットフォームがそうでなくても追加のフォーマット指令を手動で処理します) – abarnert

答えて

25

あなたはマイクロ秒を解析することができます

from datetime import datetime 
date_posted = '2014-01-15T01:35:30.314Z' 
datetime.strptime(date_posted, '%Y-%m-%dT%H:%M:%S.%fZ') 
+0

プラットフォームが唯一でなければ 'datetime'を手動で'%f'を扱うと考えました3.1+で追加されましたが、2.6にバックポートされたように見えます。ニース。 – abarnert

9

一つの選択肢dateutilは仕事をさせることです。

>>> from dateutil import parser 
>>> parser.parse('2014-01-15T01:35:30.314Z') 
datetime.datetime(2014, 1, 15, 1, 35, 30, 314000, tzinfo=tzutc()) 
関連する問題