【发布时间】:2015-05-07 21:55:44
【问题描述】:
我有一个变量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'
我该如何解决这个问题?
【问题讨论】:
-
datetime.strftime不是静态方法,您需要在实际的datetime对象上调用它:docs.python.org/2/library/datetime.html#datetime.date.strftime -
@jonny - 这意味着我应该使用类似 datetime.datetime.strftime 的东西
-
@user2125827:首先,是的,从技术上讲,你可以写
datetime.datetime.strftime(dt, fmt)而不是dt.strftime(fmt),就像你可以写str.encode(s, encoding)而不是s.encode(encoding)一样。但写dt.strftime(fmt)更惯用、更易读、更简洁。而且,更重要的是,您实际上并没有datetime,您似乎混淆了strftime(ffor format)和strptime(@987654340 @ 用于 解析);他们是对立的。