我创建了一个datetime对象值列表
a=design_list.values_list('date_submitted')
所以我得到了:
[(datetime.datetime(2012, 10, 21, 13, 56, 24),), (datetime.datetime(2012, 10, 21, 10, 33, 58),), etc...
我正试图将它们转换为时间戳,比如说:
timestamps[0] = a[0].strftime("%s")
但我收到错误:
AttributeError: 'tuple' object has no attribute 'strftime'
谁能告诉我我做错了什么?
答案 0 :(得分:5)
我在查询中添加了flat = True:
a=design_list.values_list('date_submitted', flat=True)
给出了:
[datetime.datetime(2012, 10, 21, 13, 56, 24), datetime.datetime(2012, 10, 21, 10, 33, 58),
然后可以转换。
答案 1 :(得分:4)
你指的是元组而不是元组的第一个元素。试试a[0][0].strftime('%s')
。
>>> a = [(datetime.datetime(2012, 10, 21, 13, 56, 24),)]
>>> a[0][0].strftime('%s')
'1350852984'
这就是您收到错误的原因,但正如您正确指出的那样,将结果列表展平是正确的方法。