如何在python中将天数转换为年,月和日? 例如:如果有人是5,538天。如何通过这样的年,月和日来显示:15岁2个月和1天
print "Please enter your birthday"
bd_year = int(raw_input("Year: "))
bd_month = int(raw_input("Month: "))
bd_day = int(raw_input("Day: "))
from datetime import date
now = date.today()
birthdate = date(int(bd_year), int(bd_month), int(bd_day))
age_in_days = now - birthdate
print "Your age is %s" % age_in_days
答案 0 :(得分:10)
如何使用dateutil
library中的dateutil.relativedelta.relativedelta
?例如:
from dateutil.relativedelta import relativedelta
rdelta = relativedelta(now, birthdate)
print 'Age in years - ', rdelta.years
print 'Age in months - ', rdelta.months
print 'Age in days - ', rdelta.days
答案 1 :(得分:3)
在这里使用dateutil.relativedelta.relativedelta
非常有效:除了使用.months
或.days
。
因为rdelta.months为您提供了使用整年后的剩余月份,所以没有给您实际的月份差异。 如果需要查看月份之间的差异,则应将年份转换为月份。
def deltamonths(x):
rdelta = relativedelta(now, birthdate)
return rdelta.years*12 + rdelta.months