如何仅使用python

时间:2019-06-20 03:13:44

标签: python python-3.x

我想制造一个年龄计算器,而我只想找到年数,如何根据提供的代码实现这一目标?

import datetime

print('birthday')
birthday=datetime.date(1997,7,1)
print(birthday)

print('today')
current=datetime.date.today()
print(current)

age=(current-birthday)//365
print('age')
print(age)

我希望输出为21年,但实际输出为21天,加上一些意外信息

3 个答案:

答案 0 :(得分:2)

当前假设您想将天数除以365。因此输出正确,而不是度量标准。尝试将天数除以365,如下所示:

age = (current-birthday).days // 365
print(age)

您可以使用的另一种方法是使用dateutil中的relativedelta

from dateutil.relativedelta import relativedelta
birthday = datetime.date(1997, 7, 1)
current = datetime.date.today()
rdelta = relativedelta(current, birthday)
print(rdelta.years)

这样做的好处是,您还可以打印月份/天(rdelta.months / rdelta.days

答案 1 :(得分:2)

from datetime import date

d0 = date(2008, 8, 18)
d1 = date(2017, 9, 26)
delta = d1 - d0
print (delta.days/365.2422)

答案 2 :(得分:1)

您不需要datetime来计算年龄,只需确定当前日期即可。

import datetime as dt

by, bm, bd = 1997, 7, 1
now = dt.date.today()

age = now.year - by
if (bm, bd) > (now.month, now.day):
    age -= 1    # hasn't had birthday this year

print(age)