获取表示日期的两个字符串变量中的最大值
Get the highest of two string variables representing dates
我有两个 DateTime 格式的变量(a
和 b
)'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'
我有两个 DateTime 格式的变量(a
和 b
)'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'