Python: 检查今天是否是该月的第一个工作日
Python: Check if today is first weekday of the month
我想知道如何在 Python 中检查当前日期是否是该月的第一个工作日,但在网上找不到任何解决方案。所以我想我 post 我的,以防万一有人也需要解决这个问题。
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()
returns 整数形式的工作日,其中 0 = 星期一,1 = 星期二等
datetime.datetime.today().day
returns 一个月中的第几天整数
每月的第一个星期一可以是该月的第一个、第二个或第三个。必须检查所有其他工作日是否在该月的 1 日。如果他们不在一个月的第一天,那么他们就不是这个月的第一个工作日。
当你先说 weekday
你是在假设 Monday
对吗?
这背后的逻辑应该是:
- 今天是星期一
- 今天是 1、2、3、4、5、6 或 7
- 最新是因为,如果今天是
Monday
但是是8
那就意味着第一个Monday
是第一个
获取它的函数
def is_first_weekday_of_month():
weekday = datetime.today().weekday()
day = datetime.today().day
return weekday == 0 and day in (1, 2, 3, 4, 5, 6, 7)
我想知道如何在 Python 中检查当前日期是否是该月的第一个工作日,但在网上找不到任何解决方案。所以我想我 post 我的,以防万一有人也需要解决这个问题。
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()
returns 整数形式的工作日,其中 0 = 星期一,1 = 星期二等
datetime.datetime.today().day
returns 一个月中的第几天整数
每月的第一个星期一可以是该月的第一个、第二个或第三个。必须检查所有其他工作日是否在该月的 1 日。如果他们不在一个月的第一天,那么他们就不是这个月的第一个工作日。
当你先说 weekday
你是在假设 Monday
对吗?
这背后的逻辑应该是:
- 今天是星期一
- 今天是 1、2、3、4、5、6 或 7
- 最新是因为,如果今天是
Monday
但是是8
那就意味着第一个Monday
是第一个
获取它的函数
def is_first_weekday_of_month():
weekday = datetime.today().weekday()
day = datetime.today().day
return weekday == 0 and day in (1, 2, 3, 4, 5, 6, 7)