-int days_in_month(year_t year, month_t month)
-{
- static int mdays[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
- int days = mdays[month];
- if (month == FEB)
- days += is_leap_year(year);
- return days;
-}
-
-int weeks_in_month(year_t year, month_t month)
-{
- int start = start_of_month(year, month);
- int days = days_in_month(year, month);
- return ((start + days)-1) / 7 + 1;
-}
-
-wday_t day_of_week(year_t year, month_t month, day_t day)
-{
- static int tmp[] = {0, 3, 2, 5, 0, 3,
- 5, 1, 4, 6, 2, 4};
- if (month < 3)
- year--;
- int start = year + year / 4
- - year / 100
- + year / 400
- + tmp[month];
- return (start + day) % 7;
-}