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

如何将datetime计算的天数转为整数?解决存活时长输出格式问题

解决datetime计算存活天数/小时数时的格式问题

你当前代码里today - birthdate得到的是**timedelta对象**,不是纯整数,所以直接打印会输出类似X days, 0:00:00的格式。要获取纯整数的天数和小时数,只需要提取timedelta对象的days属性,再基于这个整数计算小时数即可。

修改后的代码如下:

from datetime import date

today = date.today()
day = input("请输入你的出生日期(日):\n")
month = input("请输入你的出生日期(月):\n")
year = input("请输入你的出生日期(年):\n")
birthdate = date(int(year), int(month), int(day))

# 计算时间差并提取整数天数
time_difference = today - birthdate
days_alive = time_difference.days
hours_alive = days_alive * 24

print(f"存活天数:{days_alive}")
print(f"存活小时数:{hours_alive}")

核心要点:

  • timedelta是datetime模块用于表示时间间隔的类型,它的days属性直接返回整数形式的天数差值。
  • 之前的hours = days * 24得到的仍是timedelta对象,因此打印会带时间格式;改用整数天数乘以24,就能得到纯整数的小时数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 14:38:14