【问题标题】:Python: Check if today is first weekday of the monthPython:检查今天是否是本月的第一个工作日
【发布时间】:2020-02-24 21:59:18
【问题描述】:

我想知道如何在 Python 中检查当天是否是该月的第一个工作日,但在网上找不到任何解决方案。所以我想我发布我的,以防万一有人也需要解决这个问题。

【问题讨论】:

    标签: python weekday


    【解决方案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)
    

    【讨论】:

      【解决方案2】:
      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 日。如果他们不是在每月的第一天,他们就不是当月的第一个工作日。

      【讨论】:

        猜你喜欢
        • 2011-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-28
        • 1970-01-01
        • 2012-01-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多