繁体   English   中英

如何在python中将几天转换成几年和几个月?

[英]How do I convert days into years and months in python?

如何在python中将天转换成年,月和日? 例如:某人的年龄为5538天。 我如何通过这样的年月日来显示该信息: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

现在我需要以年,月,日为单位计算该人的生日

如何从dateutil库中使用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

在这里使用dateutil.relativedelta.relativedelta非常有效:除了使用.months.days

因为rdelta.months会为您提供使用整年后的剩余月份,所以它不会为您提供实际的月份差异。 如果需要查看月份之间的差异,则应将年份转换为月份。

def deltamonths(x):
       rdelta = relativedelta(now, birthdate)
       return rdelta.years*12 + rdelta.months

暂无
暂无

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

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