- Интервалы «1 день», когда напоминание на 15:00 будет повторяться каждый день в 15:00, даже при переходе на летнее время
- Интервалы «24 часа», при которых напоминание о 15:00 будет повторяться ровно через 24 часа. В часовом поясе, где происходит переход на летнее время, это может произойти в 14:00 или 16:00.
Вот пример кода того, что я хочу сделать, используя встроенный объект timedelta:
Код: Выделить всё
from datetime import datetime, timedelta
from zoneinfo import ZoneInfo
# 2024-10-05 18:00:00+10:00
# Note: Australia/Sydney begins DST on Oct 6, offset going from +10 to +11
dt = datetime(2024, 10, 5, 18, tzinfo=ZoneInfo("Australia/Sydney"))
# Expected: 2024-10-06 18:00:00+11:00 (still 6pm, but with the new DST offset)
print(dt + timedelta(days=1))
# Expected: 2024-10-06 19:00:00+11:00 (exactly 24 hours later)
print(dt + timedelta(hours=24))
Существует ли обходной путь или библиотека, которая Я могу использовать для этого?
Подробнее здесь: https://stackoverflow.com/questions/789 ... -between-1