# Изменена логика get_next_datetime # pytz
This commit is contained in:
14
scheduler.py
14
scheduler.py
@@ -53,22 +53,20 @@ SCHEDULED_EVENTS = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
def get_next_datetime(now: datetime.datetime, target_day: int, hour: int, minute: int) -> datetime.datetime:
|
def get_next_datetime(now, target_day, hour, minute):
|
||||||
"""
|
|
||||||
Возвращает ближайшую дату/время (timezone-aware, MSK) для target_day/hour/minute,
|
|
||||||
начиная от 'now'.
|
|
||||||
"""
|
|
||||||
days_ahead = (target_day - now.weekday()) % 7
|
days_ahead = (target_day - now.weekday()) % 7
|
||||||
target_date = (now + datetime.timedelta(days=days_ahead)).date()
|
target_date = (now + datetime.timedelta(days=days_ahead)).date()
|
||||||
return datetime.datetime(
|
|
||||||
|
naive = datetime.datetime(
|
||||||
target_date.year,
|
target_date.year,
|
||||||
target_date.month,
|
target_date.month,
|
||||||
target_date.day,
|
target_date.day,
|
||||||
hour,
|
hour,
|
||||||
minute,
|
minute
|
||||||
tzinfo=MOSCOW_TZ
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
return MOSCOW_TZ.localize(naive)
|
||||||
|
|
||||||
|
|
||||||
# Этот объект будет заполнен из main.py
|
# Этот объект будет заполнен из main.py
|
||||||
event_loop_context = {}
|
event_loop_context = {}
|
||||||
|
|||||||
Reference in New Issue
Block a user