You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除Python日期差输出中的‘0:00:00’?

解决方法

两个date对象相减得到的是timedelta类型,直接打印会默认显示完整的时间部分(0:00:00),要移除它只需要提取timedelta的天数属性即可,下面是两种常用方式:

方法1:直接访问days属性(推荐)

timedelta对象自带days属性,直接获取这个整数就能得到纯天数,这是最稳定可靠的方式:

修改代码中的print语句:

print("There are", days_between.days, "days between", earlier_date, "and", later_date)

完整修改后的代码:

from datetime import date
import random

earlier_date = date(2017, 6, random.randint(1, 25))
later_date = date(2017, 6, random.randint(earlier_date.day + 1, 28))

days_between = later_date - earlier_date

print("There are", days_between.days, "days between", earlier_date, "and", later_date)

运行后输出示例:

There are 3 days between 2017-06-05 and 2017-06-08

方法2:字符串分割(仅作参考)

如果出于特殊需求不想用属性,也可以把timedelta转成字符串后分割,只保留天数部分:

print("There are", str(days_between).split(',')[0], "days between", earlier_date, "and", later_date)

这种方法依赖timedelta的默认字符串格式,一旦格式变动就会失效,因此优先推荐方法1。

内容的提问来源于stack exchange,提问作者DavidSeoul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 07:41:29