Как преобразовать случайный ввод времени пользователей в принятый формат времени в python DateTimeField?

В моем Django приложении есть поле, которое принимает время ввода пользователя/администратора. Ожидаемые результаты будут следующими:

  1. Ввод 7, то система преобразует его в 7:00
  2. Ввод 715, он будет распознан как 7:15. То же самое 2011 -->20:11, 015 -->0015
  3. .

Как я должен это сделать? Есть комментарии?

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)
Вернуться на верх