Перевод часов в формат
Я получаю время и оно у меня в таком формате
9
12
И мне нужно конвертировать данную строку в
09:00
12:00
Пытался сделать это таким способом
from datetime import datetime
lol = datetime.strptime('9', '%H:%M')
В итоге имею ошибку
Ответы (2 шт):
Автор решения: mazzz3r
→ Ссылка
Можно сделать гораздо проще, не импортируя при этом datetime
time = 9
print(f"{time:02}:00") # > 09:00
Автор решения: insolor
→ Ссылка
Ну, у вас же в строке только часы, без двоеточия и минут. Значит для разбора этой строки через strptime форматная строка должна быть просто '%H':
from datetime import datetime
lol = datetime.strptime('9', '%H')
print(lol) # 1900-01-01 09:00:00
print(f"{lol:%H:%M}) # 09:00
Ну и если всегда просто часы в виде числа приходят, можно без strptime обойтись, просто приведя строку к целому числу, потом передать полученное значение в time через параметр hour (если вам нужно только время, то логично использовать datetime.time вместо datetime.datetime):
from datetime import time
hours = '9'
t = time(hour=int(hours))
print(t) # 09:00:00
print(f"{t:%H:%M}") # 09:00