ValueError: данные времени 1.2.20 не соответствуют формату% m /% d /% y - PullRequest
0 голосов
/ 10 февраля 2020

Почему я продолжаю получать эту ошибку?

Что я хочу: ввод с датами eu, создание диапазона дат и создание переменной со значением «месяц и год первой даты». Поскольку код читает даты в формате нас, я должен изменить формат. Мне нужен список для работы и переменная для именования вывода. но код читает ввод как us-date и делает неправильный диапазон. поэтому я попытался изменить формат, но я продолжаю получать сообщение об ошибке.

, если хотите дать входные данные 1.2.20 и 10.2.20, и я хочу, чтобы выходные данные были: Feb_20

start_date = input("Enter Start Date: ")
end_date = input("Enter Last (including) Date: ")

start_date=datetime.datetime.strptime(start_date, '%m/%d/%y').strftime('%d/%m/%y')
end_date=datetime.datetime.strptime(end_date, '%m/%d/%y').strftime('%d/%m/%y')

date_list=[]
for n in range(int ((end_date - start_date).days)+1):
    date_list.append((start_date + datetime.timedelta(n)).strftime("%d %m %y"))

file_version = (start_date).strftime("%b") + "_" +(start_date).strftime("%y")

print(file_version)

но вот что я получаю:

ValueError: time data '1.2.20' does not match format '%m/%d/%y'

заранее благодарю за помощь

1 Ответ

1 голос
/ 10 февраля 2020

Если вы хотите, чтобы на 20 февраля 2020 года входное значение было 1.20.20, используйте

strptime(start_date, '%d.%m.%y')

. Вам нужно изменить разделитель с / на ., а сначала поставить %d .

...