出生日期转年龄

来源:互联网 发布:好运通物流软件 编辑:程序博客网 时间:2024/06/02 11:10

之前转了一篇网上常见的出生日期转年龄的函数,但根本没成功。所以这里自己写了个。


    #出生日期转年龄function
    #传过来的日期必须是字符串型的。
    @staticmethod
    def calculate_age(born):
        today = datetime.date.today()
        birthday = datetime.datetime(*time.strptime(born,"%Y-%m-%d")[:3])
        age = today.year - birthday.year
        if today.month - birthday.month < 0:#当前月份小于生日月份时就可以肯定当前年的生日还未过,此时年龄应减1岁
            age -= 1
        if today.month - birthday.month == 0:#等于0就表示月份相同,就得看日是否相同
            if today.day - birthday.day < 0:#当前日小于生日的日就可以肯定当前年的生日还未过,此时应减1岁
                age -= 1
        if age < 0:#这个必须放在最后判断
            age = 0
        return age


0 0