web-dev-qa-db-ja.com

Pythonの日時形式

これらの日時形式は何ですか?それらが同じかどうかを確認するために、それらを同じ形式に変換する必要があります。これらは別のデータソースからの2つにすぎないため、同じ形式にする方法を見つける必要があります。何か案は?

2013-07-12T07:00:00Z

2013-07-10T11:00:00.000Z

前もって感謝します

15
user1579970

その余分な.000はマイクロ秒です。

これは、フォーマットの日付文字列をdatetimeオブジェクトに変換します。

import datetime
d1 = datetime.datetime.strptime("2013-07-12T07:00:00Z","%Y-%m-%dT%H:%M:%SZ")
d2 = datetime.datetime.strptime("2013-07-10T11:00:00.000Z","%Y-%m-%dT%H:%M:%S.%fZ")

次に、以下を使用して、要件に応じて任意の形式に変換します。

new_format = "%Y-%m-%d"
d1.strftime(new_format)
17
Sudipta

おそらく.isoformat()を使用してください

iSO 8601形式の文字列、YYYY-MM-DDTHH:MM:SS [.mmmmmm] [+ HH:MM]

>>> import datetime
>>> datetime.datetime.utcnow().isoformat() + "Z"
'2013-07-11T22:26:51.564000Z'
>>>

Zは、 "zulu"時間またはUTCを指定します。

http://www.ietf.org/rfc/rfc3339.txt

0
monkut

*短くて最善の方法:

str(datetime.datetime.now()).replace(' ','T')
or
str(datetime.datetime.now()).replace(' ','T') + "Z"
0
Hitman