7

日付文字列をエポックにデコードしようとしていますが、タイムゾーンを取得するのが困難です。これは、Amazon S3 キーからの最終変更日です。

time.strptime(key.last_modified, '%Y-%m-%dT%H:%M:%S.%Z')

ValueError: time data u'2013-10-20T00:41:32.000Z' 
            does not match format '%Y-%m-%dT%H:%M:%S.%Z'

タイムゾーン (.000Z) を削除しても機能しますが、タイムゾーンも必要です。

4

2 に答える 2

4

2013-10-20T00:41:32.000Z

この文字列では、32.000 は 1000 分の 1 までの精度の秒です。「Z」は UTC のタイムゾーンで、口語的にズールー時間として知られています。

Python 2.x ドキュメントでこのを見ると、%S引数は [00, 61] の範囲のみを処理でき、小数点は含まれません。61 はうるう秒を考慮したものです。これが、文字列形式が一致しない理由です。文字列から小数点以下の 3 つのゼロを削除する必要があります。

于 2013-10-20T01:44:45.453 に答える