如何将十进制年份转换为年和日

时间:2015-12-29 09:09:51

标签: python date python-3.x data-conversion

假设我有一个小数,看起来像5.08493150685,记住该字符串中的第一个数字是5,即该年数。所以我的问题是如何在天数内转换.08493150685期望结果:5年31天。 (这只是一个例子。)

3 个答案:

答案 0 :(得分:3)

只要粗略估计,您可以将平均年份设为365.25天。这将是一种获得岁月的方法:

>>> years, year_fraction = divmod(5.08493150685, 1)
>> days = round(year_fraction * 365.25)
>>> years
5
>>> days
31

更新

每年365.25天非常粗糙。正如@martineau在评论中所说,365.2425 would be a better number。这考虑到整个世纪不是闰年,除非它们可以被400整除。

答案 1 :(得分:2)

并非每年的长度都相同。假设一年是365天,那只是乘法问题:

round(365*.08493150685)

闰年,这个数字是366。

答案 2 :(得分:1)

比例:

0.084 : 1 = x : 365

解决x。