import datetime
birthday=[int(i) for i in str(20000707)]
today=datetime.datetime.now()
today=today.strftime('%Y-%m-%d')
a=birthday[0:4]
a=''.join(str(i) for i in a)
a=int(a)
b=birthday[4:6]
b=''.join(str(i) for i in b)
b=int(b)
c=birthday[6:8]
c=''.join(str(i) for i in c)
c=int(c)
dob=datetime.date(a,b,c)
aged=(today-dob).days
agey=aged/365
print agey
它会引发以下错误:
老化=(今日-DOB).days
TypeError:不支持的操作数类型 - :'str'和'datetime.date'
以下代码编译并运行并显示正确的年数:
注意我做了以下更改:
today
转换为字符串格式的行dob
从datetime.date
类型更改为datetime.datetime
类型这是代码:
import datetime
birthday=[int(i) for i in str(20000707)]
today=datetime.datetime.now()
a=int(''.join(str(i) for i in birthday[0:4]))
b=int(''.join(str(i) for i in birthday[4:6]))
c=int(''.join(str(i) for i in birthday[6:8]))
dob = datetime.datetime(a,b,c)
aged = (today-dob).days
agey = aged / 365
print(agey)
>> 17.46849315068493