2013-11-17 3 views
0

Вот моя программа:как ввести дату в python?

import datetime 

b=input() 
a = datetime.date(b)-datetime.datetime.now().date() 

print(a) 

Когда я ввожу дату 2015,2,2, или какой-то другой, у меня есть проблема

Traceback (most recent call last): 
    File "", line 4, in <module> 
    a = datetime.date(b)-datetime.datetime.now().date() 
TypeError: an integer is required 

Как ввести дату правильно? Я пробовал 2015-2-2 и 2015.2.2 и 2015-2-2 и другие версии. Но ничего не работает :(

+1

http://docs.python.org/2/library/da tetime.html # datetime.datetime.strptime –

+0

Вам нужно явно проанализировать строку в дате; класс 'datetime()' не анализирует строки для вас. Существует метод 'datetime.strptime()', который вы можете определить, какой шаблон искать. –

+0

и как использовать этот метод? – Kitty

ответ

1

datetime.date требует 3 ИНТ аргументы и вы передаете touple

Извлечение Интс из кортежа, используя индекс, чтобы захватить каждую позицию

import datetime 

b=input() 

a = datetime.date(b[0],b[1],b[2])-datetime.datetime.now().date() 

print(a) 

Пример

b = input() 

2015,4,4 

a = datetime.date(b[0],b[1],b[2]) - datetime.datetime.now().date() 

print(a) 

503 дня, 0:00:00

+0

Прошу прощения, но что-то не так ... :(2015,4,4 Traceback (последний звонок последний): Файл «", строка 5, в a = datetime.date (b [0] , b [1], b [2]) - datetime.datetime.now(). date() ТипError: требуется целое число – Kitty

Смежные вопросы