如何将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
相关产品推荐
相关产品推荐

