首页 > 解决方案 > 为什么在打印时比较这两个日期在 python 中失败,它们是相同的

问题描述

我正在尝试在 python 中比较 2 个日期,当我打印它们相同但比较失败的日期时。

import datetime
today = datetime.date.today()
print today
print '2019-04-30'
d1 = today
d2 = '2019-04-30'
if d1 == d2:
    print 'match'
else:
    print 'nomatch'

完全困惑为什么日期看起来相同但比较失败。

标签: pythonpython-2.x

解决方案


他们不一样。您可以通过检查它们的类型来测试它

type(d1)
<class 'datetime.date'>

type(d2)
<class 'str'>

打印 d1 会为您提供相同的字符串,因为 datetime 对象有一个__repr__返回字符串的方法。


推荐阅读