Как преобразовать случайный ввод времени пользователей в принятый формат времени в python DateTimeField?
В моем Django приложении есть поле, которое принимает время ввода пользователя/администратора. Ожидаемые результаты будут следующими:
- Ввод 7, то система преобразует его в 7:00
- Ввод 715, он будет распознан как 7:15. То же самое 2011 -->20:11, 015 -->0015 .
Как я должен это сделать? Есть комментарии?
P.S. У меня нет кода, потому что я хотел бы сначала узнать подход. Спасибо!
Вы можете начать с чего-то простого, используя функции подстроки.
while True:
casual = input("Please enter your time:")
if (casual == "End"):
break
if (len(casual) <= 2 or len(casual) > 4):
print("Please enter three or four digits")
continue
if len(casual) == 3:
hour = casual[0:1]
if (hour == "0"):
hour = "00"
the_time = hour + ":" + casual[1:3]
else:
the_time = casual[0:2] + ":" + casual[2:4]
print("The time is:", the_time)
Возможно, вы захотите добавить немного проверки ошибок, чтобы диапазон часов был от "00" до "23", а диапазон минут - от "00" до "59".
Надеюсь, это поможет.
Приветствуется.
Этот код делает то, что вам нужно
from datetime import time
time_input = input()
if len(time_input) <= 2:
time_input += '00'
time_format = time(hour=int(time_input[:-2]), minute=int(time_input[-2:]))
print(time_format)
from datetime import time
time_input = input()
if len(time_input) <= 2:
time_input += '00'
time_format = time(hour=int(time_input[:-2]), minute=int(time_input[-2:]))
print(time_format)