python根据出生日期返回年龄的方法

854次阅读  |  发布于5年以前

本文实例讲述了python根据出生日期返回年龄的方法。分享给大家供大家参考。具体实现方法如下:


    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'

使用方法如下:


    print CheckDate('2000.05.05')

希望本文所述对大家的Python程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8