42

たとえば、2008-09-26T01:51:42.000Z を 09/26/2008 に変換しようとしています。これを達成する最も簡単な方法は何ですか?

4

5 に答える 5

51

最も簡単な方法は、dateutil .parser.parse() を使用して日付文字列をタイムゾーン対応の datetime オブジェクトに解析し、strftime() を使用して必要な形式を取得することです。

import dateutil.parser

d = dateutil.parser.parse('2008-09-26T01:51:42.000Z')
print(d.strftime('%m/%d/%Y'))  #==> '09/26/2008'
于 2008-10-18T17:33:30.410 に答える
37

これは本当に古い質問だと思いますが、python datetime.strptime() で実行できます

>>> from datetime import datetime
>>> date_format = "%Y-%m-%dT%H:%M:%S.%fZ" 
>>> datetime.strptime('2008-09-26T01:51:42.000Z', date_format)
datetime.datetime(2008, 9, 26, 1, 51, 42)
于 2016-08-25T21:30:54.400 に答える
21
>>> import time
>>> timestamp = "2008-09-26T01:51:42.000Z"
>>> ts = time.strptime(timestamp[:19], "%Y-%m-%dT%H:%M:%S")
>>> time.strftime("%m/%d/%Y", ts)
'09/26/2008'

詳細については、Pythontimeモジュールのドキュメントを参照してください。

于 2008-10-18T09:01:59.850 に答える
3

2008-09-26T01:51:42.000ZはISO8601の日付であり、形式は非常に多様です。これらの日付を解析したい場合は、時間の操作に関するpythonwikiを参照してください。モジュールへの便利なリンクがいくつか含まれています。

于 2008-10-18T14:13:19.553 に答える
-3
def datechange(datestr):
dateobj=datestr.split('-')
y=dateobj[0]
m=dateobj[1]
d=dateobj[2]
datestr=d +'-'+ m +'-'+y
return datestr

U は、このような関数を作成して、日付オブジェクトを受け取り、日付を目的の dateFormat で返すことができます....

于 2010-05-25T12:32:41.023 に答える