簡體   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