小编典典

使用Python计算一个月中的工作日数?

python

我正在尝试编写一个Python脚本,该脚本将计算当前月份的工作日数。例如,如果month = August那么businessDays = 22

这是我发现月份的代码:

def numToMonth( num ):
   months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
   return str(months[ num - 1 ])

该代码可以正常工作,我可以对另一个函数进行硬编码,以使该月份与该月应包含的天数相匹配…但是这对我的工作日没有帮助。

有什么帮助吗?我已经习惯了C,C ++,所以请不要抨击我的Python“技能”。

编辑:我无法在机器上安装任何其他库或模块,因此请使用默认的Python模块发布答案。(Python
2.7datetime等。)而且,我的PC具有Windows 7 OS。


阅读 217

收藏
2021-01-20

共1个答案

小编典典

这是一个漫长的过程,但是至少它可以工作,并且不需要标准模块以外的任何东西。

import datetime

now = datetime.datetime.now()
holidays = {datetime.date(now.year, 8, 14)} # you can add more here
businessdays = 0
for i in range(1, 32):
    try:
        thisdate = datetime.date(now.year, now.month, i)
    except(ValueError):
        break
    if thisdate.weekday() < 5 and thisdate not in holidays: # Monday == 0, Sunday == 6 
        businessdays += 1

print businessdays
2021-01-20