用Python比较两个日期

1 投票
2 回答
975 浏览
提问于 2025-04-17 09:18

我需要用一个IF语句来比较两个日期,但出于某种奇怪的原因,我做不到。
我的代码是:

date1 = strftime("%Y-%m-%d")
d2 = os.path.getmtime('/tmp/file')
date2 = datetime.date.fromtimestamp(d2)
if date1 == date2 :
    print 'same date'
else:
    print 'different date'

我不知道为什么,打印出来的日期是一样的,但用这个IF语句却显示“日期不同”。
可能这是个新手问题,抱歉!

谢谢!

2 个回答

2
  • time.strftime 会返回一个字符串类型的对象
  • datetime.date.fromtimestamp 会返回一个日期类型的对象

所以 date1date2 是不同类型的对象。比较不同类型的对象时,结果总是会是 False(这就是所谓的强类型特性)

5

date1 是一个字符串,而 date2 是一个日期对象。也许你想写的是 date1 = datetime.date.today(),意思是把今天的日期赋值给 date1

撰写回答