2013-11-27 53 views
0

我试图让小程序在哪里可以找到的出生年份,由于年龄,Python的日期时间,并找到birthyear

import datetime 
x=raw_input("your age is?") 
y=datetime.datetime.now().strftime("%Y") 
print y-x 

但是,这是行不通的,因为输出的格式。

回答

0

strftime(..)返回一个字符串。您需要转换为int

y = int(datetime.datetime.now().strftime("%Y")) 
+3

而且你大部分时间仍然得到错误的结果。特别是在今年晚些时候运行。 – geoffspear

+0

工作!谢谢Thrustmaster – Fou89

+1

...为什么'datetime.datetime.now()。year'? –

2

的最直接的方式得到这应该是

y = datetime.datetime.now().year 
0

您的输入和本年度需为整数。

from datetime import datetime 

x = int(raw_input("What is your age? ")) # Get user's age 
y = datetime.now().year     # Get current year 

print("Your birth year: {}".format(y-x)) # Print difference 
+0

如果明天我的生日,那么代码将返回不同的出生年份。 – jfs

+0

这是正确的。这段代码只是模仿OP所写的内容。 –