Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TypeError: descriptor 'strftime' requires a 'datetime.date' object but received a 'Text'

I have a variable testeddate which has a date in text format like 4/25/2015. I am trying convert it to %Y-%m-%d %H:%M:%S as follows:

dt_str = datetime.strftime(testeddate,'%Y-%m-%d %H:%M:%S')

but I am running into this error:

TypeError: descriptor 'strftime' requires a 'datetime.date' object but received a 'Text'

How do I resolve this?

like image 212
carte blanche Avatar asked May 07 '15 21:05

carte blanche


1 Answers

You have a Text object. The strftime function requires a datetime object. The code below takes an intermediate step of converting your Text to a datetime using strptime

import datetime
testeddate = '4/25/2015'
dt_obj = datetime.datetime.strptime(testeddate,'%m/%d/%Y')

At this point, the dt_obj is a datetime object. This means we can easily convert it to a string with any format. In your particular case:

dt_str = datetime.datetime.strftime(dt_obj,'%Y-%m-%d %H:%M:%S')

The dt_str now is:

'2015-04-25 00:00:00'
like image 131
Andy Avatar answered Nov 05 '22 14:11

Andy