from datetime import date
future = input("Enter a date(dd/mm/yyyy): ")
daystring = future[0:2]
monthstring = future[3:5]
yearstring = future[6:10]
today = (date.today())
month = date.today().month
year = date.today().year
day = date.today().day
if monthstring == "01" or "03" or "05" or "07" or "08" or "10" or "12":
if daystring > "31":
print("Invalid Date Entered")
if monthstring == "04" or "06" or "09" or "11":
if daystring > "30":
print("Invalid Date Entered")
months = ["Jan", "Feb", "Mar", "Apr", "May", "June",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
daysinmonth = [31, 29, 31, 30, 31, 30, 31, 31, 30,
31, 30, 31]
if future < today or monthstring > "12":
print("Invalid Date Entered")
else:
layout = "%d/%m/%Y"
a = datetime.strptime(future, layout)
b = datetime.strptime(today, layout)
delta = a - b
print ("The difference between the inputted date and todays date is: ",delta.days, "days")
Этот код должен попросить пользователя ввести дату в будущем, а затем код должен использовать этот ввод и вычесть из него текущую дату.разница между двумя датами python
Например, сегодня 01/11/2014, и если пользователь вводит 03/11/2014, выход должен состоять в том, что разница составляет 2 дня.
Однако, я получаю сообщение об ошибке каждый раз, когда я ввожу будущую дату.
* "Я получаю ошибку при вводе данных каждый раз, когда я на будущую дату" * - ** какая ошибка ** Если это Python 2.x, вы должны использовать 'raw_input'. Почему вы «импортируете» из 'datetime', затем вручную нарезаете« будущее »и пытаетесь самостоятельно разобрать? Просто * используйте 'strptime' *. – jonrsharpe
Вы сравниваете строки; Знаете ли вы, что «9»> «31» - это правда, когда вы это делаете? –
Я использую python 3 – user3396351