static private firstWeekday ( int year, int mon ) : int | ||
year | int | |
mon | int | |
return | int |
internal static int weekOfYear(int year, int month, int day, Weekday startOfWeek) { int firstWeekday = DateTime.firstWeekday(year, 0); // zero based int lastDayInFirstWeek = 7 - (firstWeekday - startOfWeek.ord); // special case for first week if (month == 0 && day <= lastDayInFirstWeek) { return(1); } // compute from dayOfYear - lastDayInFirstWeek int doy = dayOfYear(year, month, day) + 1; int woy = (doy - lastDayInFirstWeek - 1) / 7; return(woy + 2); // add first week and make one based }
public Weekday weekday() { int weekday = (DateTime.firstWeekday(m_year, m_month) + m_day - 1) % 7; return(Weekday.array[weekday]); }