時間データ'2016-04-15T02:19:17 + 00:00 'を出力するjsonを受け取っています。このユニコード文字列の形式を把握しているようです。日付の形式はどのようにして確認できますか?
私は今と今の時間の違いを見つける必要があります。そのための最初のステップは、私はそれが
time data '2016-04-15T02:19:17+00:00' does not match format '"%Y-%m-%d %H:%M:%S %Z'
時間データ'2016-04-15T02:19:17 + 00:00 'を出力するjsonを受け取っています。このユニコード文字列の形式を把握しているようです。日付の形式はどのようにして確認できますか?
私は今と今の時間の違いを見つける必要があります。そのための最初のステップは、私はそれが
time data '2016-04-15T02:19:17+00:00' does not match format '"%Y-%m-%d %H:%M:%S %Z'
は数あります同じ形式ではないことを、例外を得続けるフォーマット
fmt='"%Y-%m-%d %H:%M:%S %Z'
#fmt='%Y-%m-%d %H:%M:%S.%f'
print datetime.datetime.strptime(result_json['alert_time'], fmt)
を見つけることができない構造形式とはIAMに文字列を変換することですあなたのフォーマットに関する問題。まず、二重引用符"
が入っています。次に、日付と時刻の間にT
を含める必要があります。第三に、タイムゾーンオフセットは標準ではありません。ここで動作するコードは次のとおりです。
print datetime.datetime.strptime('2016-04-15T02:19:17', '%Y-%m-%dT%H:%M:%S')
あなたalert_time
はGMTに常にある場合は、あなただけのstrptime
を呼び出す前にタイムゾーンを切り落とすことができます。
ブレントの答えは、フードの中で物事が進行するよりも、より安全で高速なオプションです。しかし、datetime
は、私が試したかった主な問題と関連していない不満足なボトルネックとなっていました。私はまた、dateparser
hereがまだ私に間違っていないと指摘し、入力の巨大な範囲を取るでしょう。
import dateparser
import datetime
date = '2016-04-15T02:19:17+00:00'
date_parser_format = dateparser.parse(date)
datetime_format = datetime.datetime.strptime('2016-04-15T02:19:17', '%Y-%m-%dT%H:%M:%S')
print date_parser_format
print datetime_format
私は次のことを続けています:変換されていないデータは+00:00です。例外を取り除くための優雅な方法はありますか? – Victor
@Victor: "' strptime'を呼び出す前にタイムゾーンをトリミングしてください。 " –