我试着做一个基本的程序,显示离你的下一个生日还有多少天,但是当我在终端运行它时,它说输入值应该返回一个字符串而不是一个整数?在python中使用输入函数时,它不会自动返回字符串值吗?
import datetime
currentDate = datetime.date.today()
userinput = input("Please enter your birthday(MM.DD.YY)")
birthday = datetime.datetime.strptime(userinput, "%m/%d/%Y")
print(birthday)
最佳答案
使用%y
(小写字母)捕捉两位数年份
您应该向用户建议所需的格式-您希望是“MM/DD/YY”,但您告诉用户键入“MM.DD.YY”
要计算差异,请使用以下方法(对于python3,对于python2,请使用Jahangir提到的raw_输入):
import datetime
today = datetime.date.today()
userinput = input("Please enter your birthday(MM/DD):")
birthday = datetime.datetime.strptime(userinput, "%m/%d")
birthday = datetime.date(year=today.year, month=birthday.month, day=birthday.day)
if (birthday-today).days<0:
birthday = datetime.date(year=today.year+1, month=birthday.month, day=birthday.day)
print("%d days to your next birthday!"%(birthday-today).days)
关于python - 使用“Strptime()”在Python中显示时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37503315/