Я знаю, что это лет, но я потратил много времени, пытаясь найти этот ответ.Я создал свой собственный метод и решил поделиться.
В модуле календаря есть метод monthcalendar, который возвращает двумерный массив, в котором каждая строка представляет неделю.Например:
import calendar
calendar.monthcalendar(2015,9)
результат:
[[0,0,1,2,3,4,5],
[6,7,8,9,10,11,12],
[13,14,15,16,17,18,19],
[20,21,22,23,24,25,26],
[27,28,29,30,0,0,0]]
Итак, numpy, где твой друг здесь.И я в США, поэтому я хочу, чтобы неделя начиналась в воскресенье, а первая неделя была помечена как 1:
import calendar
import numpy as np
calendar.setfirstweekday(6)
def get_week_of_month(year, month, day):
x = np.array(calendar.monthcalendar(year, month))
week_of_month = np.where(x==day)[0][0] + 1
return(week_of_month)
get_week_of_month(2015,9,14)
, возвращается
3