我正在编写一个程序,该程序允许我以天为单位计算一个人的年龄——计算每一天,包括闰日和不规则的天数。这是一行代码:
number_of_days = (((year2 - year1) * 12) + (month2 - month1)) * 30.4375 + (day2 - day1)
我30.4375
通过除以365.25
得到值12
。
现在我只需要将整数部分存储在number_of_days
. 我怎么做?
非常感谢您的帮助!
PS所有变量值都是int值
我正在编写一个程序,该程序允许我以天为单位计算一个人的年龄——计算每一天,包括闰日和不规则的天数。这是一行代码:
number_of_days = (((year2 - year1) * 12) + (month2 - month1)) * 30.4375 + (day2 - day1)
我30.4375
通过除以365.25
得到值12
。
现在我只需要将整数部分存储在number_of_days
. 我怎么做?
非常感谢您的帮助!
PS所有变量值都是int值
您可以使用int
:
number_of_days = int((((year2 - year1) * 12) + (month2 - month1)) * 30.4375 + (day2 - day1))
或math.floor
:
import math
number_of_days = math.floor((((year2 - year1) * 12) + (month2 - month1)) * 30.4375 + (day2 - day1))
但随后number_of_days
将是 a float
,所以我认为第一个解决方案更好。
只需致电int
:
number_of_days = int((((year2 - year1) * 12) + (month2 - month1)) * 30.4375 + (day2 - day1))
如果您的目标是计算日期之间的天数,您可以使用 datetime 模块:
import datetime
birth = datetime.date(1967,11,14)
today = datetime.date.today()
number_of_days = (today - birth).days
考虑使用 round 而不是转换更准确:
import math
int(math.round((((year2 - year1) * 12) + (month2 - month1)) * 30.4375 + (day2 - day1)))
你能用地板功能吗?
number_of_days = math.floor((((year2 - year1) * 12) + (month2 - month1)) * 30.4375 + (day2 - day1))