我有3个日期(小时,秒和分钟)
2016-11-30T13:27:04-05:00
2016-11-30T13:27:41-05:00
2017-03-01T22:16:35-05:00
我怎样才能获得更旧的日期,即2016-11-30T13:27:04-05:00 作为输出
此python脚本未提供正确的结果
import time
find_a = min(a)
print find_a
答案 0 :(得分:2)
试试这个
dat = ['2016-11-30T13:27:04-05:02', '2016-11-30T13:27:41-05:02','2016-11-30T13:27:04-05:00']
print(min(dat))
答案 1 :(得分:1)
您可以使用dateutil.parser
来解析日期,使用min
来比较它们。这是一个例子:
In [1]: from dateutil.parser import parse
In [4]: dates = ['2016-11-30T13:27:04-05:00', '2016-11-30T13:27:41-05:00', '2017-03-01T22:16:35-05:00']
In [5]: min([parse(s) for s in dates])
Out[5]: datetime.datetime(2016, 11, 30, 13, 27, 4, tzinfo=tzoffset(None, -18000))
答案 2 :(得分:1)
a = ['2016-11-30T13:27:04-05:00', '2016-11-30T13:27:41-05:00','2017-03-01T22:16:35-05:00']
>>> min(a) '2016-11-30T13:27:04-05:00
它有效,只需将其作为普通字符串进行尝试。您可以避免导入时间
是否要将它们转换为datetime对象,然后找到最小值?
将此处指定的方法https://stackoverflow.com/a/12282040/5334188用于日期时间对象并找到最小值