如何在python中获取日期时间对象列表并找出最小值

时间:2015-04-09 05:16:52

标签: python datetime

我需要在python中找到日期时间对象列表中的最小日期。但是,创建列表会在Python shell中引发语法错误。

l = [datetime.datetime(2015, 3, 18, 13, 45, 2, tzinfo=<UTC>),datetime.datetime(2015, 3, 18, 3, 45, 2, tzinfo=<UTC>)]

以上给出了

File "<stdin>", line 1
    l = [datetime.datetime(2015, 3, 18, 13, 45, 2, tzinfo=<UTC>),datetime.datetime(2015, 3, 18, 3, 45, 2, tzinfo=<UTC>)]
                                                          ^
SyntaxError: invalid syntax . 

如何克服这一点并从列表中获得最低限度。

2 个答案:

答案 0 :(得分:3)

我认为这会有所帮助

In [1]: import datetime

In [2]: import pytz

In [3]: l = [datetime.datetime(2015, 3, 18, 13, 45, 2, tzinfo=pytz.UTC),datetime.datetime(2015, 3, 18, 3, 45, 2, tzinfo=pytz.UTC)]

In [4]: min(l)
Out[4]: datetime.datetime(2015, 3, 18, 3, 45, 2, tzinfo=<UTC>)

答案 1 :(得分:2)

这是一个语法错误,因为您在<UTC>中粘贴了不合法的Python,它只是时区对象上的__repr__方法。如果时区对您很重要,请使用pytz之类的时区库,否则只需删除它们。

过去,您可以在min执行__lt__的任何内容上调用datetime。只需在日期时间列表中调用min,它就可以正常工作。