Python如何比较日期忽略时分秒判断是否为同一天
问题原因
datetime.datetime.now()返回的结果携带时、分、秒、微秒字段,而通过strptime从仅含日期的字符串转换得到的newsdate,时间字段默认值为00:00:00- 两个
datetime类型对象直接做相等判断时会校验完整的时间字段,因此哪怕日期相同,只要时分秒不一致就会判定为不相等 - 你提供的原始代码还存在语法问题:
else分支下的print语句没有缩进,运行会直接报错
解决方法
.date()方法可以从datetime对象中提取仅包含年月日的date对象,丢弃时分秒部分,我们只需要把两个待比较的时间都转换为date对象再做判断即可实现只校验是否为同一天的需求。
修改后的完整代码
import datetime currentdate = datetime.datetime.now() print(currentdate) newsdate = "Oct-26-2021" newsdate = datetime.datetime.strptime(newsdate, "%b-%d-%Y") print(newsdate) if currentdate.date() == newsdate.date(): print("Extra") else: print("Too old")
内容的提问来源于stack exchange,提问作者Leah
相关产品推荐
相关产品推荐

