Здравствуйте!
Помогите понять использование
isoweekday в
datetime.
Пишу уведомляшку в определенные дни недели, в определенное время.
Например, я хочу сделать чтобы каждый понедельник в 15:00 было уведомление.
Понимаю, что делается через
weekday или
isoweekday – кстати, разницу я все равно не понимаю, что там ВС начинается с 0, а там с 1.
Это я пытаюсь прикрутить
isoweekday:
from datetime import timedelta, datetime, timezone
import asyncio
@dp.message_handler(text=['Уведомлять меня!'])
async def process_start_command(message: types.Message):
keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
await message.answer("Уведомление включено!", reply_markup=keyboard)
while True:
await asyncio.sleep(1)
now = datetime.now()
x = now.isoweekday()
dt_string = now.strftime("%d/%m/%Y %H:%M:%S")
if (dt_string == "19:04:00") and x == 6:
await bot.send_message(message.chat.id, f'"Уведомление в {dt_string}"')
Это код без
isoweekday, который работает только в определенный
dd/mm/YY H:M:S:
from datetime import timedelta, datetime, timezone
import asyncio
@dp.message_handler(text=['Уведомлять меня!'])
async def process_start_command(message: types.Message):
keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
await message.answer("Уведомление включено!", reply_markup=keyboard)
while True:
await asyncio.sleep(1)
now = datetime.now()
dt_string = now.strftime("%d/%m/%Y %H:%M:%S")
if (dt_string == "15/05/2024 19:04:00"):
await bot.send_message(message.chat.id, f'"Уведомление в {dt_string}"')