#include #include #include #include #define TRUE 0 #define FALSE -1 int GetDayOfWeek(int year, int month, int day); void DisplayWeek(int wday); void main(void){ int year, month, day, week; printf("** TESTWEEK : 曜日を求める **\n"); getchar(); year = 2017; month = 04; day = 1; week = GetDayOfWeek(year, month, day); /* 曜日の表示 */ DisplayWeek(week); } /*********************************************/ int GetDayOfWeek(int year, int month, int day) /*********************************************/ { struct tm time_in, *local; time_t t; /* 年月日を入力 */ time_in.tm_year = year - 1900; /* 年 */ time_in.tm_mon = month - 1; /* 月 */ time_in.tm_mday = day; /* 日 */ /* 時分秒曜日を適当に入力 */ time_in.tm_hour = 1; /* 時 ( 適当に入力 ) */ time_in.tm_min = 0; /* 分 ( 適当に入力 ) */ time_in.tm_sec = 0; /* 秒 ( 適当に入力 ) */ time_in.tm_wday = 0; /* 曜日 ( 適当に入力 ) */ time_in.tm_yday = 0; /* 1 月 1 日からの日数 ( 適当に入力 ) */ /* mktime 関数で変換 */ if((t = mktime(&time_in) ) == (time_t)(-1) ) { return -1; } /* 地方時に変換 */ local = localtime(&t); return local->tm_wday; } /*************************/ void DisplayWeek(int wday) /*************************/ { char weeks[][16] = { " 日曜日 ", " 月曜日 ", " 火曜日 ", " 水曜日 ", " 木曜日 ", " 金曜日 ", " 土曜日 " }; printf("%s\n", weeks[wday]); }