make_times_h.c
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
- /*
- This program generates the "times.h" file with the zulu-times of the first of
- every month of a decade.
- */
- /****************************************************************
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- ****************************************************************/
- #include <time.h>
- #include <stdio.h>
- static time_t GetDay(int D,int M,int Y)
- {
- struct tm TM;
-
- TM.tm_sec = 0;
- TM.tm_min = 0;
- TM.tm_hour = 0;
- TM.tm_mday = D;
- TM.tm_mon = M;
- TM.tm_wday = 0;
- TM.tm_yday = 0;
- TM.tm_year = Y-1900;
- TM.tm_isdst = 0;
-
- return mktime(&TM);
-
- }
- static int WeekGetDay(int D,int M,int Y)
- {
- struct tm TM;
-
- TM.tm_sec = 0;
- TM.tm_min = 0;
- TM.tm_hour = 0;
- TM.tm_mday = D;
- TM.tm_mon = M;
- TM.tm_year = Y-1900;
- TM.tm_isdst = 0;
- TM.tm_wday = 0;
- TM.tm_yday = 0;
-
- (void)mktime(&TM);
-
- return TM.tm_wday;
-
- }
- int main(void)
- {
- int M,Y;
- FILE *file;
-
- file=fopen("times.h","w");
-
- if (file==NULL)
- return 0;
-
- fprintf(file,"static time_t TimeDays[10][13] = { n");
-
- Y=1997;
- while (Y<2007)
- {
- M=0;
- fprintf(file," { ");
- while (M<12)
- {
- fprintf(file,"%i",(int)GetDay(1,M,Y));
- fprintf(file,",t");
-
- M++;
- }
-
- fprintf(file,"%i } ",(int)GetDay(1,0,Y+1));
- if (Y!=2006) fprintf(file,",");
- fprintf(file,"n");
- Y++;
- }
- fprintf(file,"};n");
- fprintf(file,"static int WeekDays[10][13] = { n");
-
- Y=1997;
- while (Y<2007)
- {
- M=0;
- fprintf(file," { ");
- while (M<12)
- {
- fprintf(file,"%i",(int)WeekGetDay(1,M,Y));
- fprintf(file,",t");
-
- M++;
- }
-
- fprintf(file,"%i } ",(int)WeekGetDay(1,0,Y+1));
- if (Y!=2006) fprintf(file,",");
- fprintf(file,"n");
- Y++;
- }
- fprintf(file,"};n");
- fprintf(file,"#define KHTTPD_YEAROFFSET 1997n");
- fprintf(file,"#define KHTTPD_NUMYEARS 10n");
- (void)fclose(file);
-
- return 0;
- }