首页 > 解决方案 > 如何正确设置返回python中年份差异的函数?

问题描述

我正在尝试编写一个函数,该函数在给定特定日期格式的情况下返回我的年差,即"01/%m/%Y"

这是我正在使用的代码:

import datetime as datetime

###################### function to return difference in years ####################

def years_between(start_year, end_year):
    start_year = datetime.strptime(start_year, "01/%m/%Y")
    end_year = datetime.strptime(end_year, "01/%m/%Y")
    return abs((end_year - start_year).years)

测试时它返回:

years_between("01/10/1900", "01/10/2000")

AttributeError: 'datetime.timedelta' object has no attribute 'years'

预期的函数输出将是一个整数,在上述情况下将是100

有没有其他方法可以纠正这个功能?

标签: pythonfunctiondatedatetime

解决方案



from datetime import datetime

def years_between(start_year, end_year):
    start_year = datetime.strptime(start_year, "%d/%m/%Y")
    end_year = datetime.strptime(end_year, "%d/%m/%Y")
    return abs(end_year.year - start_year.year)


print(years_between("01/10/1901", "01/10/2000"))

推荐阅读