2017-01-02 3 views
0

私はdatetimeを時刻に変換しています。私のJSON日時フォーマットは "2017-01-02T19:00:07.9181202Z"です。私はこのpython date-time文書を読んでその後Pythonでstrptimeを解析できません

enter image description here

from datetime import datetime 
date_format = datetime.strptime('2017-01-02T19:00:07.9181202Z', '%Y-%m-%dT%H:%M:%S.%fZ') 
time = date_format.strftime("%I:%M %p") 
print(time) 

以下のようにエラーメッセージ:私は以下の私のコードを配置しています。マイクロ秒の数字は6になるはずですが、JSONの日時マイクロ秒は7桁です。 Pythonのドキュメントから

メッセージ:

%fはC標準 内のフォーマット文字の集合に拡張したものである(ただし、DateTimeオブジェクトに別々に実装され、したがって常に利用 )。 strptime()メソッドと共に使用する場合、%fディレクティブ は、右側に1〜6桁の数字とゼロパッドを受け入れます。

07:00 PMのような結果が必要です。代わりの方法はありますか?

ありがとうございます。

答えて

1

あなたが入力が常にそのようになることを確信している場合は、あなただけstrptimeにその文字列を渡す前に、余分な数字を削除することができます

date_format = datetime.strptime('2017-01-02T19:00:07.9181202Z'[:-2] + 'Z', '%Y-%m-%dT%H:%M:%S.%fZ') 

これは汚いですが、アイデアを提供します - 削除最後の2文字(余分な数字と "Z")、 "Z"を再追加します。

+0

正常です。ありがとう – Nisar

関連する問題