Как преобразовать значение из ввода времени из формы HTML в переменную времени в Python? - PullRequest
0 голосов
/ 26 мая 2020

У меня есть форма HTML, которая принимает ввод в часовом формате. Очень просто:

<input type="time" name="due_hour" id="due_hour">

Затем я пытаюсь преобразовать его в формат времени, используя datetime:

from datetime import datetime, date, time

Вот первые 2 строки кода для преобразования:

task_due_hour_raw = request.form['due_hour']
task_due_hour_split = task_due_hour_raw.split(':')

Если я верну f "{task_due_hour_split [0]}: {task_due_hour_split [1]}", он напечатает час в правильном формате, например 10:00 ... Итак, данные, которые я пытаюсь передать sh в переменную типа времени кажется допустимым.

Однако всякий раз, когда я пытаюсь преобразовать его в последней строке:

task_due_hour = time(int(task_due_date_split[0]), int(task_due_hour_split[1]), 0, 0)

, я получаю это сообщение об ошибке:

ValueError: hour must be in 0..23

Если это может быть полезно, то это часть проекта Flask. Причина, по которой я делаю это, - преобразовать данные во временную переменную, чтобы я мог использовать их в запросе SQL для создания новой строки.

1 Ответ

0 голосов
/ 26 мая 2020

Я не уверен, почему это не сработало для вас, но я попробовал и похоже работает -

from datetime import datetime, date, time

task_due_hour_raw = "21:02" #I have just hard coded the value I recieved as a request parameter
task_due_hour_split = task_due_hour_raw.split(':')

print(task_due_hour_split[0])
print(task_due_hour_split[1])

task_due_hour = time(int(task_due_hour_split[0]), int(
    task_due_hour_split[1]), 0, 0)

print(task_due_hour)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...