Я пытаюсь преобразовать строку "20091229050936" в "05:09 29 декабря 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'
Очевидно, я сделал ошибку: время является неправильным, это - объект даты и времени! Это имеет дату и компонент времени!
>>>import datetime
>>>s = datetime.strptime("20091229050936", "%Y%m%d%H%M%S")
дает AttributeError: 'module' object has no attribute 'strptime'
Как я предназначен для преобразования строки в отформатированную строку даты?
time.strptime
возвращает time_struct
; time.strftime
принимает 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 декабря 2009 г. (UTC)
Для объектов datetime
, strptime
- это статический метод класса datetime
, а не свободная функция в модуле datetime
:
>>> 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)