Comparing datetime objects by date only
我有两个
1 | test_date = datetime.datetime(2014, 4, 25, 11, 57, 56) |
(上述日期与
1 | now_date = datetime.datetime(2014, 4, 25, 12, 40, 19, 705355) |
号
(上面的日期和
1 | now_date==test_date |
我得到了
您当前正在比较整个
1 2 | >>> now_date.date() == test_date.date() True |
号
因为,您只想比较日期而不是时间,所以需要将它们转换为
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | In [1]: import datetime In [2]: test_date = datetime.datetime(2014, 4, 25, 11, 57, 56) In [3]: now_date = datetime.datetime(2014, 4, 25, 12, 40, 19, 705355) In [4]: now_date == test_date Out[4]: False In [5]: test_date = test_date.date() In [6]: test_date Out[6]: datetime.date(2014, 4, 25) In [7]: now_date = now_date.date() In [8]: now_date Out[8]: datetime.date(2014, 4, 25) In [9]: now_date == test_date Out[9]: True |
如果您只想比较日、月和年,可以尝试:
1 | now_date.strftime('%Y%m%d')==test_date.strftime('%Y%m%d') |
使用此方法,还可以指定其他属性。