我需要找出两个同格式的日期时间字符串中的哪个是最新的。
现在,我使用datetime.strptime
方法将它们转换。然后,我比较两个datetime
对象。然后,我调用isoformat
最大的datetime
对象,以将其作为get参数传递。
因此,我想知道在不进行str
to对话的情况下找出最大的等格式字符串是否可靠datetime
。
似乎有效:
>>> from datetime import datetime as dt
>>> s1 = '2013-12-25T19:20:41.391393'
>>> s2 = '2013-12-25T19:20:41.391394'
>>> s1 > s2
False
>>> pattern = '%Y-%m-%dT%H:%M:%S.%f'
>>> dt.strptime(s1, pattern) > dt.strptime(s2, pattern)
False
ISO 8601日期字符串(无时区偏移)是isoformat返回的字符串类型,可以将其与string进行比较。
正如Assem-Hafez所指出的那样,如果字符串包含时区偏移量,则字符串比较可能不会产生与时区感知日期时间比较相同的结果:
In [31]: import dateutil.parser as DP
In [32]: s = ["2019-08-29T10:50:35+00:00", "2019-08-29T10:50:35+02:00"]
In [33]: t = [DP.parse(si) for si in s]; t
Out[33]:
[datetime.datetime(2019, 8, 29, 10, 50, 35, tzinfo=tzutc()),
datetime.datetime(2019, 8, 29, 10, 50, 35, tzinfo=tzoffset(None, 7200))]
In [34]: s[0] < s[1]
Out[34]: True
In [35]: t[0] < t[1]
Out[35]: False
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句