我有一个变量testeddate
,其日期为文本格式,如2015年4月25日。我正在尝试将其转换为%Y-%m-%d %H:%M:%S
,如下所示:
dt_str = datetime.strftime(testeddate,'%Y-%m-%d %H:%M:%S')
但我遇到了这个错误:
TypeError: descriptor 'strftime' requires a 'datetime.date' object but received a 'Text'
如何解决此问题?
答案 0 :(得分:19)
你有一个Text
个对象。 strftime
函数需要datetime对象。以下代码采用中间步骤,使用strptime
将您的Text
转换为datetime
import datetime
testeddate = '4/25/2015'
dt_obj = datetime.datetime.strptime(testeddate,'%m/%d/%Y')
此时,dt_obj
是一个日期时间对象。这意味着我们可以轻松地将其转换为任何格式的字符串。在您的特定情况下:
dt_str = datetime.datetime.strftime(dt_obj,'%Y-%m-%d %H:%M:%S')
dt_str
现在是:
'2015-04-25 00:00:00'
答案 1 :(得分:0)
不太优雅的解决方案是直接操作字符串。
testeddate = '4/25/2015'
month, day, year = testeddate.split('/')
testeddate = '-'.join([year, month, day]) + ' 00:00:00'