22

文字列「20091229050936」を「05:09 29 December 2009 (UTC)」に変換しようとしています

>>>import time
>>>s = time.strptime("20091229050936", "%Y%m%d%H%M%S")
>>>print s.strftime('%H:%M %d %B %Y (UTC)')

与える AttributeError: 'time.struct_time' object has no attribute 'strftime'

明らかに、私は間違いを犯しました: 時間が間違っています。これは datetime オブジェクトです! 日付時刻のコンポーネントがあります。

>>>import datetime
>>>s = datetime.strptime("20091229050936", "%Y%m%d%H%M%S")

与える AttributeError: 'module' object has no attribute 'strptime'

文字列をフォーマットされた日付文字列に変換するにはどうすればよいですか?

4

5 に答える 5

41

datetimeオブジェクトの場合、モジュール内のフリー関数ではなく、クラスのstrptime静的メソッドです。datetimedatetime

>>> import datetime
>>> s = datetime.datetime.strptime("20091229050936", "%Y%m%d%H%M%S")
>>> print s.strftime('%H:%M %d %B %Y (UTC)')
05:09 29 December 2009 (UTC)
于 2010-02-23T09:39:08.337 に答える
13

time.strptimeを返しますtime_struct。オプションのパラメーターとしてtime.strftimea を受け入れます。time_struct

>>>s = time.strptime(page.editTime(), "%Y%m%d%H%M%S")
>>>print time.strftime('%H:%M %d %B %Y (UTC)', s)

与える 05:09 29 December 2009 (UTC)

于 2010-02-23T09:29:44.783 に答える
1

私にとってこれは最高で、GoogleAppEngineでも機能します

UTC-4を示す例

import datetime   
UTC_OFFSET = 4
local_datetime = datetime.datetime.now()
print (local_datetime - datetime.timedelta(hours=UTC_OFFSET)).strftime("%Y-%m-%d %H:%M:%S")
于 2011-07-25T01:59:22.200 に答える
1

easy_dateを使用して簡単にすることができます。

import date_converter
my_datetime = date_converter.string_to_string("20091229050936", "%Y%m%d%H%M%S", "%H:%M %d %B %Y (UTC)")
于 2015-05-10T05:42:09.230 に答える