Python では、次のように文字列を変換するにはどうすればよいですか。
2010 年 12 月 16 日木曜日 12:14:05 +0000
タイムゾーンを維持しながら、ISO 8601形式に変換しますか?
元の日付は文字列であり、出力も文字列である必要があることに注意してくださいdatetime。
ただし、サードパーティのライブラリを使用しても問題ありません。
dateutil の使用:
import dateutil.parser as parser
text = 'Thu, 16 Dec 2010 12:14:05 +0000'
date = parser.parse(text)
print(date.isoformat())
# 2010-12-16T12:14:05+00:00
Python 組み込みのdatetimeパッケージには、datetime オブジェクトを isoformat に変換するメソッドが組み込まれています。次に例を示します。
>>>from datetime import datetime
>>>date = datetime.strptime('Thu, 16 Dec 2010 12:14:05', '%a, %d %b %Y %H:%M:%S')
>>>date.isoformat()
出力は
'2010-12-16T12:14:05'
この回答は、主に UTC で働き、タイムゾーンを気にする必要がない人向けに書きました。最後の 6 文字を取り除いてその文字列を取得できます。
Python 2 には、タイムゾーンに対する非常に優れた内部ライブラリ サポートがありません。詳細と解決策については、stackoverflow でこの回答を参照してください。