>* Sunday = 1, etc... > >CLEAR > >LOCAL Loop AS Integer > >FOR m.Loop = 1 TO 7 > > ? m.Loop, WeekDaysInMonth(m.Loop,2016,10) > >ENDFOR > > >FUNCTION WeekDaysInMonth (WeekDay AS Integer, CalendarYear AS Integer, CalendarMonth AS Integer) AS Integer > > LOCAL StartDay AS Date > LOCAL FirstWeekDay AS Integer > LOCAL ExtraDaysInMonth AS Date > LOCAL Result AS Integer > > m.Result = 4 > > m.StartDay = DATE(m.CalendarYear, m.CalendarMonth, 1) > m.FirstWeekDay = DOW(m.StartDay) > m.ExtraDaysInMonth = (GOMONTH(m.StartDay,1) - m.StartDay) - 28 > > IF m.ExtraDaysInMonth > IIF(m.WeekDay < m.FirstWeekDay,m.WeekDay + 7 - m.FirstWeekDay,m.WeekDay - m.FirstWeekDay) > m.Result = m.Result + 1 > ENDIF > > RETURN m.Result > >ENDFUNC >https://www.levelextreme.com/Home/ViewPage?Activator=1021&ID=1642130&LXMenu=2