"иногда" - это, видимо, в момент смены даты.
Так как
start_time
заведомо "меньше", чем
server_time
, а вы вычитаете из меньшего большее, то и возникает разница в -1 день.
Используйте
abs
при подсчёте дельты:
from datetime import datetime, timezone
start_time = datetime(2025, 1, 27, 23, 59, 59, tzinfo=timezone.utc)
server_time = datetime(2025, 1, 28, 0, 0, 0, tzinfo=timezone.utc)
delta = start_time - server_time
print("Дельта:", delta)
>>> Дельта: -1 day, 23:59:59
abs_delta = abs(start_time - server_time)
print("Дельта:", abs_delta)
>>> Дельта: 0:00:01