首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何确定第一个星期日、第二个星期日、第三个星期日等工作日。通过传递日期

确定第一个星期日、第二个星期日、第三个星期日等工作日的方法是通过传递日期来计算。以下是一个示例的算法:

  1. 首先,获取传递的日期的年份和月份。
  2. 创建一个空的列表,用于存储符合条件的工作日。
  3. 循环遍历该月的所有日期。
  4. 对于每个日期,判断它是否是星期日,并且是第一个、第二个、第三个等星期日。
  5. 如果满足条件,将该日期添加到列表中。
  6. 继续循环,直到找到所有符合条件的工作日。
  7. 返回列表作为结果。

下面是一个示例的Python代码实现:

代码语言:txt
复制
import datetime

def get_workdays(year, month):
    workdays = []
    count = 0
    
    # 获取该月的第一天
    first_day = datetime.date(year, month, 1)
    
    # 循环遍历该月的所有日期
    for day in range(1, 32):
        try:
            date = datetime.date(year, month, day)
            
            # 判断是否是星期日
            if date.weekday() == 6:
                count += 1
                
                # 判断是否是第一个、第二个、第三个等星期日
                if count == 1:
                    workdays.append(date)
                elif count == 2:
                    workdays.append(date)
                elif count == 3:
                    workdays.append(date)
                # 继续循环,直到找到所有符合条件的工作日
                else:
                    break
        except ValueError:
            # 如果日期不存在,跳过该日期
            continue
    
    return workdays

# 示例调用
year = 2022
month = 1
result = get_workdays(year, month)
print(result)

这个算法会返回一个列表,包含符合条件的工作日日期。你可以根据需要进行进一步的处理和使用。

请注意,这只是一个示例算法,实际应用中可能需要根据具体需求进行调整。另外,这个算法只考虑了星期日,如果需要确定其他工作日,可以根据需要进行修改。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

你需要的Excel常用函数都在这里!

IF() IF(logical_test,[value_if_true],[value_if_false]) 如果第一个参数表达式判断的结果为真时,则返回第二个参数值;为假时,则返回第三个参数值。...value_if_true 通过这个参数的英文说明,可见本参数是第一个参数逻辑表达式返回为真 (True) 时,就返回这个参数。此参数可以是任何文本、字符。...value_if_false 通过这个参数的英文说明,可见本参数是第一个参数逻辑表达式返回为真 (False) 时,就返回这个参数。此参数可以是任何文本、字符。...如果所有的第一个单元格都满足其关联条件,则计数增加 1。如果所有的第二个单元格都满足其关联条件,则计数再增加 1,依此类推,直到计算完所有单元格。 criteria_range1 必需。...用于确定返回值类型的数字。

4K32

浅析cron的表达式

:该字符只在日期和星期字段中使用,虽然我现在不知道它的值是多少,但是它的值是唯一的,通过日期可以推出星期,通过本周是周几也可以推出日期。...例如15W表示离该月15号最近的工作日,如果该月15号是星期六,则匹配14号星期五;如果15日是星期日,则匹配16号星期一;如果15号是星期二,那结果就是15号星期二。...W字符串只能指定单一日期,而不能指定日期范围; ●LW组合:在日期字段可以组合使用LW,它的意思是当月的最后一个工作日; ●井号(#):该字符只能在星期字段中使用,表示当月某个工作日。...如6#3表示当月的第三个星期五(6表示星期五,#3表示当前的第三个),而4#5表示当月的第五个星期三,假设当月没有第五个星期三,忽略不触发; ● C:该字符只在日期和星期字段中使用,代表“Calendar...它的意思是计划所关联的日期,如果日期没有被关联,则相当于日历中所有日期。例如5C在日期字段中就相当于日历5日以后的第一天。1C在星期字段中相当于星期日后的第一天。

87510
  • Python的strftime函数与calendar模块函数

    ) 表示按指定的日期格式返回当前日期,例如:  from time import * t3=strftime("%Y-%m-%d %H:%M:%S") print(t3) print("\n") 其输出为...print(t3) print("\n") 输出: 20-11-24 08:53:19 二、calendar模块函数  calendar日历模块提供与日历相关的功能,在默认情况下,日历把星期一作为周一的一天,星期日作为最后一天...- setfirstweekday(weekday):设置每个星期的开始工作日代码。星期代码是0-6,代表星期一~星期日。 ...- firstweekday():返回当前设置的每个星期开始工作日,默认为0,也就是星期一。  - isleap(year):如果指定年份是闰年则返回True,否则返回False。 ...- monthrange(year,month):返回两个整数,返回的第一个数代表指定年和月的第一天是星期几,返回的第二个数代表所指定月份的天数。

    89450

    傻妞教程-计划任务Crontab定时执行时间如何计算

    * - - - - - - | | | | | | | | | | | +----- 星期几 (0 - 7)(星期日...=0 或 7)或星期日、星期一、星期二、星期三、星期四、星期五、星期六 | | | | +---------- 月份 (1 - 12) 或 1 月、2 月、3 月、4 月 ......除非用反斜杠()转义,否则命令中的百分号(%)会被替换成换行符,第一个百分号后面的所有数据都会作为标准输入发送给命令。 非标准字段 “L”代表“Last”。...指定最接近给定日期工作日(星期一-星期五)。例如,15W,意思是:“最接近该月15日的工作日。”;所以,如果15号是星期六,触发器在14号星期五触发。如果15日是星期天,触发器在16日星期一触发。...例如,5#3表示每个月的第三个星期五。 在某些实现中,“?”用来代替“”以将月中的某一天或周中的某一天留空。其他cron的实现是替换“?”为cron守护进程的启动时间,例如:??

    47170

    python时间日期格式化和反格式化

    无论平台如何,1900年前都无法使用。 指示 含义 例 笔记 %a 工作日作为语言环境的缩写名称。 太阳,周一,......,周六(en_US); 所以,Mo,......星期日,星期一,......,星期六(en_US); Sonntag,Montag,......,Samstag(de_DE) (1) %w 工作日为十进制数,其中0表示星期日,6表示星期六。...001,002,...,366 %U 作为零填充十进制数的一年中的周数(星期日作为一周的第一天)。在第一个星期日之前的新年中的所有日子都被认为是在第0周。...在第一个星期一之前的新年中的所有日子被认为是在第0周。 00,01,...,53 (6) %c Locale的适当日期和时间表示。...输出可能包含使用区域设置的默认编码编码的Unicode字符(例如,如果当前区域设置为ja_JP,则为默认值编码可以是中的任一项eucJP,SJIS或utf-8;使用locale.getlocale() 以确定当前区域的编码

    2.2K20

    SpringBoot整合Scheduled(定时任务器)

    但是,如果 L 出现在星期字段里,而且在前面有一个数值 X,则表示“这个月的最后 X 天”, 例如,6L 表示该月的最后星期五; ●W:该字符只能出现在日期字段里,是对前导日期的修饰,表示离该日期最近的工作日...例如 15W 表示离该月 15 号最近的工作日,如果该月 15 号是星期六,则匹配 14 号星期五;如果 15 日是星期日,则匹配 16 号星期一;如果 15 号是星期二,那结果就是 15 号星期二。...W 字符串只能指定单一日期,而不能指定日期范围; ●LW 组合:在日期字段可以组合使用 LW,它的意思是当月的最后一个工作日; ●井号(#):该字符只能在星期字段中使用,表示当月某个工作日。...如 6#3 表示当月的第三个星期五(6表示星期五,#3 表示当前的第三个),而 4#5 表示当月的第五个星期三,假设当月没有第五个星期三,忽略不触发; ● C:该字符只在日期和星期字段中使用,代表“Calendar...它的意思是计划所关联的日期,如果日期没有被关联,则相当于日历中所有日期。例如 5C 在日期字段中就相当于日历 5 日以后的第一天。1C 在星期字段中相当于星期日后的第一天。

    89120

    SpringBoot整合Scheduled(定时任务器)

    但是,如果 L 出现在星期字段里,而且在前面有一个数值 X,则表示“这个月的最后 X 天”, 例如,6L 表示该月的最后星期五; W:该字符只能出现在日期字段里,是对前导日期的修饰,表示离该日期最近的工作日...例如 15W 表示离该月 15 号最近的工作日,如果该月 15 号是星期六,则匹配 14 号星期五;如果 15 日是星期日,则匹配 16 号星期一;如果 15 号是星期二,那结果就是 15 号星期二。...W 字符串只能指定单一日期,而不能指定日期范围; LW 组合:在日期字段可以组合使用 LW,它的意思是当月的最后一个工作日; 井号(#):该字符只能在星期字段中使用,表示当月某个工作日。...如 6#3 表示当月的第三个星期五(6表示星期五,#3 表示当前的第三个),而 4#5 表示当月的第五个星期三,假设当月没有第五个星期三,忽略不触发; C:该字符只在日期和星期字段中使用,代表“Calendar...它的意思是计划所关联的日期,如果日期没有被关联,则相当于日历中所有日期。例如 5C 在日期字段中就相当于日历 5 日以后的第一天。1C 在星期字段中相当于星期日后的第一天。

    87710

    Excel公式技巧104:查找任意月的最后一天

    假设y和m分别是想要查找的最后一天的日期中的年和月,那么: =DATE(y,m+1,0) 使用0作为日参数值,返回前一个月的最后一天的日期。...如果不是年和月,如果知道一个日期并且想找到该日期所在月的最后一天的日期,可以使用: =EOMONTH(date, 0) 如果想要知道某月的最后一个工作日日期,可以使用: =WORKDAY(DATE(y...将假期列表传递给WORKDAY函数的最后一个参数,例如: =WORKDAY(DATE(y, m+1, 1), -1, E1:E20) 公式中,E1:E20是包含假期日期的列表单元格区域。...此外,不是所有人都将星期六和星期日作为周末,如果要处理不同的周末类型,例如,有人在星期二不工作,也有人的工作时间是星期日至星期四,那么可以使用WORKDAY.INTL函数: =WORKDAY.INTL(

    1.9K20

    一.使用Scheduled 定时任务器

    但是,如果 L 出现在星期字段里,而且在前面有一个数值 X,则表示“这个月的最后 X 天”,例如,6L 表示该月的最后星期五; W:该字符只能出现在日期字段里,是对前导日期的修饰,表示离该日期最近的工作日...例如 15W 表示离该月 15 号最近的工作日,如果该月 15 号是星期六,则匹配 14 号星期五;如果 15 日是星期日,则匹配 16 号星期一;如果 15 号是星期二,那结果就是 15 号星期二。...W 字符串只能指定单一日期,而不能指定日期范围; LW 组合:在日期字段可以组合使用 LW,它的意思是当月的最后一个工作日; 井号(#):该字符只能在星期字段中使用,表示当月某个工作日。...如 6#3 表示当月的第三个星期五(6表示星期五,#3 表示当前的第三个),而 4#5 表示当月的第五个星期三,假设当月没有第五个星期三,忽略不触发; C:该字符只在日期和星期字段中使用,代表“Calendar...它的意思是计划所关联的日期,如果日期没有被关联,则相当于日历中所有日期。例如 5C 在日期字段中就相当于日历 5 日以后的第一天。在星期字段中相当于星期日后的第一天。

    48510

    java基于SSM的Quartz计划任务配置

    但是,如果L出现在星期字段里,而且在前面有一个数值X,则表示“这个月的最后X天”,例如,6L表示该月的最后星期五; W:该字符只能出现在日期字段里,是对前导日期的修饰,表示离该日期最近的工作日。...例如15W表示离该月15号最近的工作日,如果该月15号是星期六,则匹配14号星期五;如果15日是星期日,则匹配16号星期一;如果15号是星期二,那结果就是15号星期二。...W字符串只能指定单一日期,而不能指定日期范围; LW组合:在日期字段可以组合使用LW,它的意思是当月的最后一个工作日; 井号(#):该字符只能在星期字段中使用,表示当月某个工作日。...如6#3表示当月的第三个星期五(6表示星期五,#3表示当前的第三个),而4#5表示当月的第五个星期三,假设当月没有第五个星期三,忽略不触发;  C:该字符只在日期和星期字段中使用,代表“Calendar...它的意思是计划所关联的日期,如果日期没有被关联,则相当于日历中所有日期。例如5C在日期字段中就相当于日历5日以后的第一天。1C在星期字段中相当于星期日后的第一天。

    1.3K10

    SQL函数 WEEK

    一周总是从星期日开始;因此,日历年的第一个星期日标志着从第 1 周到第 2 周的变化。...如果一年中的第一个星期日是 1 月 1 日,则该星期日是第 1 周;如果一年中的第一个星期日晚于 1 月 1 日,则该星期日是第 2 周的第一天。因此,第 1 周的长度通常少于 7 天。...可以使用 DAYOFWEEK 函数确定星期几。一年中的总周数通常为 53,闰年可能为 54。IRIS 还支持确定一年中星期的 ISO 8601 标准。该标准主要用于欧洲国家。...2005 年的第 1 周是从 2005 年 1 月 3 日星期一到 1 月 9 日星期日2005,因为它的星期四是 2005 年 1 月 6 日,也就是 2005 年的第一个星期四。...如果某个值未通过检查,则返回空字符串。日期字符串必须完整且格式正确,其中包含适当数量的元素和每个元素的数字,以及适当的分隔符。年份必须指定为四位数。日期值必须在有效范围内。年:0001 到 9999。

    1.6K10

    Cron表达式使用方法

    但是,如果L出现在星期字段里,而且在前面有一个数值X,则表示“这个月的最后X天”,例如,6L表示该月的最后星期五; W:该字符只能出现在日期字段里,是对前导日期的修饰,表示离该日期最近的工作日。...例如15W表示离该月15号最近的工作日,如果该月15号是星期六,则匹配14号星期五;如果15日是星期日,则匹配16号星期一;如果15号是星期二,那结果就是15号星期二。...W字符串只能指定单一日期,而不能指定日期范围; LW组合:在日期字段可以组合使用LW,它的意思是当月的最后一个工作日; 井号(#):该字符只能在星期字段中使用,表示当月某个工作日。...如6#3表示当月的第三个星期五(6表示星期五,#3表示当前的第三个),而4#5表示当月的第五个星期三,假设当月没有第五个星期三,忽略不触发; C:该字符只在日期和星期字段中使用,代表“Calendar...它的意思是计划所关联的日期,如果日期没有被关联,则相当于日历中所有日期。例如5C在日期字段中就相当于日历5日以后的第一天。1C在星期字段中相当于星期日后的第一天。

    2.2K50

    python自学——函数-strftim

    strftime()的语法是strftime(格式, 日期/时间, 修正符, 修正符, ...)...它可以用以下的符号对日期和时间进行格式化: %a - 简写的星期几  %A - 完整的星期几  %b - 缩写的月份名称  %B - 完整的月份名称  %c - 首选日期和时间表示  %C - 世纪值(...r - 时间在上午和下午的符号:am/pm  %R - time in 24 hour notation  %S - 秒  %t - 制表符  %T - 当前时间,等于 %H:%M:%S  %u - 工作日为数字...警告:在Sun Solaris上周日=1  %U - 当年的周数,第一个星期日作为第一周的第一天  %V - 本年度ISO 8601的周数(01到53),其中,第1周是在本年度至少4天的第一个星期,星期一作为一周的第一天... %W - 当年的周数,与第一个星期一作为第一周的第一天  %w - 星期为一个小数,星期日=0  %x - 没有时间的日期表示  %X - 无日期首选的时间表示  %y - 一年无世纪(范围从00到

    1K30

    #PY小贴士# 在时间与字符间转换

    那我们今天就来讲一讲 Python 里与时间有关的事: 如何将时间类型(datetime)与字符串类型(str)进行相互转换 这个需求在实际开发中非常常见。...附:格式化的具体代码说明 指令 意义 示例 %a 当地工作日的缩写。...Sunday, Monday, ..., Saturday (en_US);Sonntag, Montag, ..., Samstag (de_DE) %w 以十进制数显示的工作日,其中0表示星期日,6...001, 002, ..., 366 %U 以补零后的十进制数表示的一年中的周序号(星期日作为每周的第一天)。 在新的一年中第一个星期日之前的所有日子都被视为是在第 0 周。...在新的一年中第一个第期一之前的所有日子都被视为是在第 0 周。 00, 01, ..., 53 %c 本地化的适当日期和时间表示。

    80950

    Mysql中与时间相关的统计分析

    ), date_format(a5_firsttime, "%H:%i") as t from ccb_alerts group by t order by null 这个统计汇总方法,可以按照每天、工作日...(周一至周五)、小时、分钟、月维度来汇总统计。...AM 或 PM %r 时间,12-小时(hh:mm:ss AM 或 PM) %S 秒(00-59) %s 秒(00-59) %T 时间, 24-小时 (hh:mm:ss) %U 周 (00-53) 星期日是一周的第一天...%u 周 (00-53) 星期一是一周的第一天 %V 周 (01-53) 星期日是一周的第一天,与 %X 使用 %v 周 (01-53) 星期一是一周的第一天,与 %x 使用 %W 星期名 %w 周的天...(0=星期日, 6=星期六) %X 年,其中的星期日是周的第一天,4 位,与 %V 使用 %x 年,其中的星期一是周的第一天,4 位,与 %v 使用 %Y 年,4 位 %y 年,2 位 如果想要统计一天之内

    1.6K10

    quartz任务调度器规则说明

    但是,如果L出现在星期字段里,而且在前面有一个数值 X,则表示“这个月的最后X天”,例如,6L表示该月的最后星期五; ●W:该字符只能出现在日期字段里,是对前导日期的修饰,表示离该日期最近的工作日。...例如15W表示离该月15号最近的工作日,如果该月15号是星期六,则匹配14号星期五;如果15日是星期日,则匹配16号星期一;如果15号是星期二,那结果就是15号星期二。...W字符串只能指定单一日期,而不能指定日期范围; ●LW组合:在日期字段可以组合使用LW,它的意思是当月的最后一个工作日; ●井号(#):该字符只能在星期字段中使用,表示当月某个工作日。...如6#3表示当月的第三个星期五(6表示星期五,#3表示当前的第三个),而4#5表示当月的第五个星期三,假设当月没有第五个星期三,忽略不触发; ● C:该字符只在日期和星期字段中使用,代表“Calendar...它的意思是计划所关联的日期,如果日期没有被关联,则相当于日历中所有日期。例如5C在日期字段中就相当于日历5日以后的第一天。1C在星期字段中相当于星期日后的第一天。

    47930

    SpringBoot-11 扩展功能

    W:该字符只能出现在日期字段里,是对前导日期的修饰,表示离该日期最近的工作日。...如:15W表示离该月15日最近的工作日,如果15日是星期六,则匹配14日星期五;如果15日是星期日,则匹配16日星期一;如果15日是星期二,那结果就是15日星期二。...LW组合:在日期字段中可以组合使用LW,它的意思是当月的最后一个工作日。 #号:该字符只能在星期字段中使用,表示当月的某个工作日。...如6#3表示当月的第三个星期五(6表示星期五,#3表示当前的第三个),而4#5表示当月的第五个星期三。假设当月没有第五个星期三,则忽略不触发。...例如,5C在日期字段中相当于5日以后的那一天,1C在星期字段中相当于星期日后的第一天。 常用的Cron表达式 “0 0 12 * * ?” 每天12:00运行 “0 15 10 ?

    55810

    手把手带你学习微信小程序 —— 六(wxs 语法学习专题)

    你可以理解为在 wxml 文件中写 JavaScript 代码,接下来我们就用 code 来带大家体验一下 wxs 语言 1.1 场景描述 很多同学肯定写过这样的题目,输入一个数字[1~7] ,输出与之对应的星期日期..."; break; default: weekday = "错误的日期"; break; } //传递参数,前面讲过两种前台后端传参的方式..."; break; default: weekday = "错误的日期"; break; } return weekday;...三、wxs —— require 引用 我们可以将 部分 wxs 代码 存放到一个 wxs 文件当中,通过 require 将 wxs 代码导入执行 还是上面的例子,我们将 星期日期 全部存进 一个数组当中...", ] //始终 记住,使用了wxs,就用通过 exports 把数据进行导出 module.exports.weekdays = weekdays; 3.

    95010
    领券