Spi*_*ico 6 python datetime date python-3.x
>> 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
Run Code Online (Sandbox Code Playgroud)
我试图在不使用库的情况下比较python3中的日期,它似乎正常工作.这是真的吗?python是否真的理解这些字符串是日期并根据日期格式进行比较,还是在幕后进行其他事情?
Kas*_*mvd 10
不,这种行为背后没有空间的东西.事实上,Python比较字符串lexicographicaly,在这种情况下它可以工作,但它不是正确的方法,因为它也可以接受错误的日期!
这是一个反例:
>>> a ='2009-33-10'
>>> b ='2009-11-1'
>>> a>b
True
Run Code Online (Sandbox Code Playgroud)
作为处理日期的正确方法,您应该使用datetime具有许多工具来处理日期对象的模块.
您可以将字符串转换为日期对象,datetime.datetime.strptime然后您可以使用基本算术运算来比较日期对象,因为这个模块已经支持它们.
| 归档时间: |
|
| 查看次数: |
4791 次 |
| 最近记录: |