我知道这些问题一直都会被问到,但我的具体问题似乎没有出现(至少我找不到)。
所以我的问题是这样的。我有一个MySQL数据库,其中包含大量数据,其中一列充满了日期。当我提取这些日期时,我会自动将它们存储到一个效果很好的列表中。
但是,我还必须格式化日期来计算。例如,如果我在其中一个日期工作,我可能只需要提取月份数。有了导入日期时间,我想象strftime很简单,但事实并非如此。问题是它们以字符串格式存储(列表称为last_shipped)。
日期根据以下格式进入列表:
((datetime.datetime(2012, 11, 30, 0, 0),),)
因此,当我尝试使用strftime时,我收到了错误
TypeError: descriptor 'strftime' requires a 'datetime.date' object but received a 'str'
我的问题是,如何将完整列表转换为可行的日期时间对象列表?
提前致谢
编辑:
我正在使用MySQLdb。 我尝试过的产生上述错误的代码示例是:
z = datetime.datetime.strftime(gr, '%m')
在这种情况下,z是我上面提到的日期时间字符串。
答案 0 :(得分:1)
这将对您有所帮助:
time.strptime(string[, format])
根据格式解析表示时间的字符串。返回值是gmtime()或localtime()返回的struct_time。
将表示gmtime()或localtime()返回的时间的元组或struct_time转换为format参数指定的字符串。