繁体   English   中英

将天转换为年、月和日

[英]Converting days into years, months and days

我知道我可以使用 relativedelta 来计算日历中两个日期之间的差异。 但是,它不能满足我的需求。

我必须考虑 1 年 = 365 天和/或 12 个月; 1 个月 = 30 天。

要将 3 年 2 个月 20 天转换为天,我只需要这个公式: (365x3)+(30x2)+20 ,等于 1175。

但是,考虑到天数可能会或可能不会高于 1 个月或 1 年,我如何将天数转换为年、月和日? Python 上是否有我可以使用的方法?

数学上,我可以将 1175 除以 365,将结果的小数点乘以 365,将结果除以 30,然后将结果的小数点乘以 30。但是我怎么能在 Python 中做到这一点?

您不必乘以小数,使用模%来查找余数

在此处阅读更多信息

totalDays = 120

years = totalDays//365
months = (totalDays%365)//30
days = (totalDays%365)%30

print(years,months,days)
0 0 12

您可以使用days%365从天数中获取年数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM