我需要在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 .
如何克服这一点并从列表中获得最低限度。
答案 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
,它就可以正常工作。