Python:比较两个日期



我想知道从以前的x到今天已经过去了多少天

我写的是:

from datetime import datetime
timestamp = 1629195530 # A month ago
before = datetime.fromtimestamp(timestamp)
daysBefore = before.strftime("%d")
now = datetime.now()
today = now.strftime("%d")
print(f"daysBefore {daysBefore} - today {today}")
daysPassed = int(today) - int(daysBefore)

但是看起来,daysBefore正在返回当月的天数,我无法理解这一点:(

日期时间小时分钟精确格式

from datetime import datetime
timestamp = 1629195530 # A month ago
before = datetime.fromtimestamp(timestamp)
now = datetime.now()
print(now - before))
print(f"daysBefore {daysBefore} - today {today}")

这不起作用的原因是它给出了月份的日期。例如,7月17日和8月17日的时间差为0天。

因此推荐的方法是@abdul Niyas p M所说的,使用整个日期。时间格式,减去两个日期,然后提取天数。

您的问题是由于此:strftime("%d")
您正在将您的日期转换为字符串,然后转换为int以产生差异。您可以使用datetime来为您做这件事:

timestamp = 1629195530 # A month ago
before = datetime.fromtimestamp(timestamp)
now = datetime.now()
print(f"daysBefore {before} - today {now}")
daysPassed = now - before
print(daysPassed.days)

最新更新