Как перед однозначным числом в дате/времени ставить цифру 0?
Всем привет. Использовал модуль datetime и столкнулся с проблемой, что мне выводит время с миллисекундами, т.е вот: "19:09:40.003307" Как мне убрать миллисекунды и получить время в формате "HH:MM:SS"? Использовал так:
current_time = datetime.now().time() # В начале кода
str(current_time) # Использование
Ответы (2 шт):
Автор решения: vadim vaduxa
→ Ссылка
strftime() and strptime() Format Codes
from datetime import datetime
datetime.strptime('04.02.19 1:56:22.900552', '%y.%m.%d %H:%M:%S.%f').strftime('%H:%M:%S')
01:56:00
d = datetime.now() # 2020-07-08 20:19:51.948950
d.strftime('%H:%M:%S') # 20:19:51
d2 = d.time() # 20:19:51.948950
d2.strftime('%H:%M:%S') # 20:19:51
Автор решения: Евгений
→ Ссылка
Если вам нужно убрать их именно в строковом представлении, можно воспользоваться вполне стандартной работой со строками
>>> from datetime import datetime
>>> current_time = datetime.now().time() # В начале кода
>>> str(current_time) # Использование
'19:31:31.871461'
>>> str(current_time)[:str(current_time).rfind('.')]
'19:31:31'
Но лучше обратить внимание на формат вывода даты (ответ пользователя vadim vaduxa)