2013-11-10 3 views
6

Я использую следующий код, чтобы использовать дату в определенном формате и запуская следующую ошибку. Как разместить дату в формате m/d/y?AttributeError: объект 'str' не имеет атрибута 'strftime'

from datetime import datetime, date 

def main(): 
    cr_date = '2013-10-31 18:23:29.000227' 
    crrdate = cr_date.strftime(cr_date,"%m/%d/%Y") 

if __name__ == '__main__': 
    main() 

Ошибка: -

AttributeError: 'str' object has no attribute 'strftime' 

ответ

12

Вы должны использовать datetime объект, а не str.

>>> from datetime import datetime 
>>> cr_date = datetime(2013, 10, 31, 18, 23, 29, 227) 
>>> cr_date.strftime('%m/%d/%Y') 
'10/31/2013' 

Чтобы получить объект типа DateTime из строки, используйте datetime.datetime.strptime:

>>> datetime.strptime(cr_date, '%Y-%m-%d %H:%M:%S.%f') 
datetime.datetime(2013, 10, 31, 18, 23, 29, 227) 
>>> datetime.strptime(cr_date, '%Y-%m-%d %H:%M:%S.%f').strftime('%m/%d/%Y') 
'10/31/2013' 
Смежные вопросы