Python: проверьте, не сегодня ли первый день недели месяца - PullRequest
0 голосов
/ 29 октября 2019

Я задавался вопросом, как проверить, является ли текущий день первым рабочим днем ​​месяца в Python, и не смог найти никакого решения в Интернете. Поэтому я решил опубликовать свой, на случай, если кому-то тоже понадобится решить эту проблему.

1 Ответ

0 голосов
/ 29 октября 2019
import datetime

weekday = datetime.datetime.today().weekday()
day = datetime.datetime.today().day
date_str = datetime.datetime.today().strftime("%A, %d-%m-%Y")

if (weekday == 0 and day in (1, 2, 3)) or (weekday in (1, 2, 3, 4) and day == 1):
    print("Today {0} is the first weekday of the month.".format(date_str))
else:
    print("Today {0} is not the first weekday of the month.".format(date_str))

datetime.datetime.today().weekday() возвращает день недели в виде целого числа, где 0 = понедельник, 1 = вторник и т. Д.

datetime.datetime.today().day возвращает день месяца в виде целого числа

первый понедельникмесяца может быть 1-го, 2-го или 3-го числа месяца. Все остальные будни должны быть проверены, если они на 1-го числа месяца. Если они не первого числа месяца, они не первый день недели месяца.

...