我正在尝试编写一个Python脚本,该脚本将计算当前月份的工作日数。例如,如果month = August那么businessDays = 22。
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。
datetime
这是一个漫长的过程,但是至少它可以工作,并且不需要标准模块以外的任何东西。
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