aboutsummaryrefslogtreecommitdiff
path: root/src/libcf/month_day.c
blob: 1ecfae11cd37e049f296e617ae40e9f4fe3baf2e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* month_day: return month,day from day of year */
/*	07/21/04    1.4   wvd	Add () to defn of leap */

#include "calfuse.h"

void month_day(int year, int yearday, int *pmonth, int *pday)
{
    static char daytab[2][13]={
	{0,31,28,31,30,31,30,31,31,30,31,30,31},
	{0,31,29,31,30,31,30,31,31,30,31,30,31}
    };
    int i, leap;

    leap = ((year%4 == 0 && year%100 != 0) || year%400 == 0);
    for (i=1; yearday>daytab[leap][i]; i++)
	yearday-=daytab[leap][i];
    *pmonth=i;
    *pday=yearday;
}