我有,
timestamp=[]
for x in model_obj:
timestamp.append(x.start_time)
print timestamp
结果:
[datetime.datetime(2014, 9, 2, 19, 40, 1, tzinfo=<UTC>), datetime.datetime(2014, 9, 2, 19, 40, 14, tzinfo=<UTC>), datetime.datetime(2014, 9, 2, 19, 40, 7, tzinfo=<UTC>), datetime.datetime(2014, 9, 2, 21, 53, tzinfo=<UTC>), datetime.datetime(2014, 9, 2, 22, 25, 24, tzinfo=<UTC>), datetime.datetime(2014, 9, 2, 22, 2
5, 52, tzinfo=<UTC>)]
我的问题是:如何从python的这个日期时间列表中获取最早和最晚的时间?
答案 0 :(得分:7)
使用内置的min()
/ max()
功能:
earliest = min(timestamp)
latest = max(timestamp)
作为旁注,我建议您使用list comprehension:
构建列表timestamp = [x.start_time for x in model_obj]
更新:最早可表示的datetime
为0001-01-01 00:00:00
,据我所知,0000-00-00
日期无法从数据库加载而您获取None
字段中的x.Date_Time_End
。
问题是:您的任务是否允许您忽略此日期时间?如果是,那么只需从列表中筛选出None
值:
end = [x.Date_Time_End for model2_obj if x.Date_Time_End]
end_time = max(end)