python - 为什么在打印时比较这两个日期在 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'
完全困惑为什么日期看起来相同但比较失败。
解决方案
他们不一样。您可以通过检查它们的类型来测试它
type(d1)
<class 'datetime.date'>
type(d2)
<class 'str'>
打印 d1 会为您提供相同的字符串,因为 datetime 对象有一个__repr__
返回字符串的方法。
推荐阅读
- gcc - 将自定义链接器可执行文件指定为 g++
- c++ - 用括号解析 C++ 中的字符串
- asp.net-mvc - 如何在项目 ASP.NET Core MVC 中使用 file.jsx 导入和使用包 npm 作为类名?
- couchdb - 如何访问 Cloudant 上的 DB/_local_docs 而不会出现错误“此请求需要 server_admin 访问权限””
- selenium - 是否可以从类变量中为 TestNG 注释“启用”属性设置值?
- python-3.x - 随机森林中每棵树的每个特征的特征重要性计算
- laravel - 在 Laravel 中注册后如何部分登录用户
- hive - 如何在 SQL 中定义复杂的形状?
- android - 如何以调用另一个活动的方式使 ListView 中的每个项目可点击?
- c# - 获取UTC c#中对应的起始本地小时