Если вам нужно просто вывести текущее время (это то же самое, что время прошедшее с начала суток), то вообще вычитать не нужно ничего.
Нужно просто 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}")