python - 有没有直接的方法来忽略 python datetime 对象的一部分?

标签 python datetime

我正在尝试比较两个日期时间对象,但忽略了年份。例如,给定

a = datetime.datetime(2015,07,04,01,01,01)
b = datetime.datetime(2016,07,04,01,01,01)

我希望 a == b 通过忽略年份返回 True。要进行这样的比较,我想我可以创建具有同一年份的新日期时间对象,例如:

c = datetime.datetime(2014,a.month,a.day,a.hour,a.minute,a.second)
d = datetime.datetime(2014,b.month,b.day,b.hour,b.minute,b.second)

但是,这似乎不是很 pythonic。是否有更直接的方法可以像我所问的那样进行比较?

我正在使用 python 3.4。

最佳答案

(a.month, a.day, a.hour, a.minute, a.second == 
 b.month, b.day, b.hour, b.minute, b.second)

一种不太明确的方法是比较时间元组中的相应元素:

a.timetuple()[1:6] == b.timetuple()[1:6]

关于python - 有没有直接的方法来忽略 python datetime 对象的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39159092/

相关文章:

python - 从 python 中的字典列表中写出一个 csv 文件

Python:克莱因瓶的 3D 图

java - 在 Java 8 中格式化 LocalDateTime 时,默认 DateTimeFormatter 返回空字符串

javascript - 法语日期无效

php - Doctrine2 默认时间戳格式为 "0000-00-00 00:00:00"?

python - 将元组键字典子集到具有基于键的名称的字典中

Python - 我不应该做的事情?

python - 如何从 Google App Engine 数据存储区查询中订购引用的对象?

python - python中根据一段时间生成一些 "random"开始时间供脚本运行

mysql表优化,仅两列与日期时间比较