技术文摘
不使用第三方库,Python 怎样找出当月的第五个工作日(排除节假日)
2025-01-09 01:53:04 小编
不使用第三方库,Python 怎样找出当月的第五个工作日(排除节假日)
在Python编程中,有时我们需要找出当月的第五个工作日,同时还要排除节假日。虽然有许多第三方库可以帮助我们完成这个任务,但本文将介绍如何在不使用第三方库的情况下实现这一功能。
我们需要获取当前月份的日历信息。可以使用Python的内置模块calendar来获取。以下是一个示例代码:
import calendar
def find_fifth_workday(year, month, holidays):
cal = calendar.monthcalendar(year, month)
workdays = []
for week in cal:
for i, day in enumerate(week):
if day!= 0 and i >= 0 and i <= 4 and (year, month, day) not in holidays:
workdays.append(day)
if len(workdays) >= 5:
return workdays[4]
else:
return None
在上述代码中,我们定义了一个函数find_fifth_workday,它接受年份、月份和节假日列表作为参数。函数首先获取指定月份的日历信息,然后遍历每个星期,找出工作日并排除节假日。最后,如果工作日数量大于等于5,则返回第五个工作日;否则,返回None。
接下来,我们需要定义一个节假日列表。可以根据实际情况手动添加节假日的日期。例如:
holidays = [(2024, 1, 1), (2024, 1, 2)] # 假设1月1日和1月2日是节假日
year = 2024
month = 1
fifth_workday = find_fifth_workday(year, month, holidays)
if fifth_workday:
print(f"{year}年{month}月的第五个工作日是{month}月{fifth_workday}日")
else:
print(f"{year}年{month}月没有第五个工作日")
在上述代码中,我们定义了一个节假日列表holidays,然后调用find_fifth_workday函数来找出第五个工作日。最后,根据返回结果输出相应的信息。
通过以上方法,我们可以在不使用第三方库的情况下,使用Python找出当月的第五个工作日(排除节假日)。这种方法简单易懂,并且可以根据实际情况进行调整和扩展。
- Oracle 查看表空间大小与使用情况的 SQL 语句
- MySQL 与 PHP 的锁机制
- Python 字符编码疑难探讨
- MySQL中Order By索引的优化策略
- 深入解析优化mysql性能的十个参数
- MySQL 触发器的运用
- MySQL 数据备份:mysqldump 用法解析
- PHP动态网站加速:MySQL索引分析与优化
- PHP与MySQL开发的八大技巧
- PHP操作MySQL的注意事项
- PHP 使用 mysql_query 查询超大结果集致超内存问题的解决办法
- PHP操作MySQL数据库的要点
- MySQL 常用命令汇总
- 基于PHP和MySQL利用函数递归实现动态...
- 利用MySQL内建复制功能优化可用性