【发布时间】:2015-09-29 18:28:30
【问题描述】:
>> a ='2009-05-10'
>>> b ='2009-06-10'
>>> a > b
False
>>> a < b
True
>>> type(a)
<class 'str'>
>>> c = '2009-06-09'
>>> b < c
False
>>> b > c
True
>>> c ='2008-07'
>>> b > c
True
>>> a > c
True
我尝试在不使用库的情况下比较 python3 中的日期,它似乎工作正常。 这是真实的情况吗? python真的理解这些字符串是日期并根据日期格式比较它们还是幕后发生的其他事情?
【问题讨论】:
-
如果你选择这样一个合理的日期格式,字符串的标准字典排序就像它知道它们是日期一样工作;但它没有。
-
如果 Python 只是简单地分析你的字符串内容来弄清楚它们代表什么,为什么它会有一个内置的 datetime 模块?
-
是的。事情现在很清楚了。谢谢。
-
这就是为什么ISO 8601 拥有
YYYYMMDD并让lexicographical sorting 处理其余的事情。日期未被解析或验证。 -
是的,这个 ISO‑8601 (YYYY‑MM‑DD) developers.facebook.com/docs/marketing-api/dynamic-product-ads/…
标签: python python-3.x date datetime