2014-09-22 4 views
0

Как определить количество дней буднего дня X в Python?Получить сумму буднего дня X в месяц

E.g. количество понедельников в сентябре 2014 г.

Пример использования для стандартного 0 понедельник, 6 это воскресенье календарь схема:

>>> numberOfWeekdays(2014, 9, weekday=0) 
5 

Редактировать

Используя принятый ответ:

def numberOfWeekdays(year, month, weekday=calendar.MONDAY): 
    return sum(1 for week in calendar.monthcalendar(year, month) if week[weekday]) 
+0

https://en.wikipedia.org/wiki/Zeller%27s_congruence – user2085282

+0

Вопрос отредактирован и улучшен, чтобы свести на нет рассуждения близкого голосования. –

ответ

2

Существуют различные способы сделать это с помощью calendar. например

import calendar 

month = (2014, 9) # October, 2014 

sum(1 for week in calendar.monthcalendar(*month) if week[calendar.MONDAY]) 
Out[28]: 5 

sum(1 for week in calendar.monthcalendar(*month) if week[calendar.FRIDAY]) 
Out[29]: 4 
Смежные вопросы