Как конвертировать время в формат чч:мм?

Рейтинг: 0Ответов: 1Опубликовано: 28.03.2023
import datetime as dt

my_datetime = dt.datetime(2023, 3, 28, 00, 00, 00)
m_datetime = dt.datetime.now()
v = m_datetime - my_datetime
print("С начала текущих суток прошло:", v)

Ответы

▲ 1Принят

Если вам нужно просто вывести текущее время (это то же самое, что время прошедшее с начала суток), то вообще вычитать не нужно ничего.

Нужно просто dt.datetime.now() отформатировать с форматом %H:%M:

import datetime as dt

now = dt.datetime.now()
print(f"С начала текущих суток прошло: {now:%H:%M}")

Если нужно получить именно из v (timedelta), то берете из v полное количество секунд, делите нацело с остатком (divmod) на 3600 - частное будет количеством часов. Остаток делите на 60 - получаете количество минут:

import datetime as dt

my_datetime = dt.datetime(2023, 3, 28, 00, 00, 00)
m_datetime = dt.datetime.now()
v = m_datetime - my_datetime
hours, seconds = divmod(int(v.total_seconds()), 3600)
minutes = seconds // 60
# Если нужны будут секунды, то вместо просто деления на 60 делайте опять divmod:
# minutes, seconds = divmod(seconds, 60)
print(f"С начала текущих суток прошло: {hours:02}:{minutes:02}")