python根据出生日期返回年龄的方法
这篇文章主要介绍了python根据出生日期返回年龄的方法,实例分析了Python时间操作的技巧,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了python根据出生日期返回年龄的方法。分享给大家供大家参考。具体实现方法如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
def CalculateAge(self, Date):
'''Calculates the age and days until next birthday from the given birth date'''
try:
Date = Date.split('.')
BirthDate = datetime.date(int(Date[0]), int(Date[1]), int(Date[2]))
Today = datetime.date.today()
if (Today.month > BirthDate.month):
NextYear = datetime.date(Today.year + 1, BirthDate.month, BirthDate.day)
elif (Today.month < BirthDate.month):
NextYear = datetime.date(Today.year, Today.month + (BirthDate.month - Today.month), BirthDate.day)
elif (Today.month == BirthDate.month):
if (Today.day > BirthDate.day):
NextYear = datetime.date(Today.year + 1, BirthDate.month, BirthDate.day)
elif (Today.day < BirthDate.day):
NextYear = datetime.date(Today.year, BirthDate.month, Today.day + (BirthDate.day - Today.day))
elif (Today.day == BirthDate.day):
NextYear = 0
Age = Today.year - BirthDate.year
if NextYear == 0: #if today is the birthday
return '%d, days until %d: %d' % (Age, Age+1, 0)
else:
DaysLeft = NextYear - Today
return '%d, days until %d: %d' % (Age, Age+1, DaysLeft.days)
except:
return 'Wrong date format'
使用方法如下:
?
1
print CheckDate('2000.05.05')
希望本文所述对大家的Python程序设计有所帮助。
本文网址:https://www.dedexuexi.com/wysj/html/2934.html
本站部分文章搜集与网络,如有侵权请联系本站,转载请说明出处。