比较日期和时间对象并在python中获取更早的日期

时间:2017-11-02 07:09:26

标签: python time

我有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

3 个答案:

答案 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用于日期时间对象并找到最小值