获取表示日期的两个字符串变量中的最大值

Get the highest of two string variables representing dates

我有两个 DateTime 格式的变量(ab)'YYYYMMDDTHHMMSS'(例如“20180108T124506”),我想知道如何确定哪个是更近。所以基本上是最高的数字。

问题是我无法使用 int(variable) 将其转换为整数,因为变量中有一个 T。

如何避免这个问题?

你可以用这个,

from datetime import datetime 
a = datetime.strptime("20180108T124506","%Y%m%dT%H%M%S")
b = datetime.strptime("20220108T124506","%Y%m%dT%H%M%S")

In [11]: b > a
Out[11]: True

不需要做任何事情。 YYYYMMDDTHHMMSS 格式已按从高到低的顺序排列;这意味着 native str order 等同于所需的“时间”顺序。

>>> a = "20180108T124506"
>>> b = "20220108T124506"
>>> b > a
True
>>> max(a, b)
'20220108T124506'