dayOfWeek 西暦年月日からその曜日を算出する
int dayOfWeek(int year, int month, int day);
year 西暦で表される年号 month 月の値 (1 〜 12) day 日の値
曜日に対応する 0 〜 6 の値 0: 日、1: 月、2: 火、3: 水、4: 木、5: 金、6: 土
int dayOfWeek(int year, int month, int day){ if (month == 1 || month == 2) { year--; month += 12; } return (year + year/4 - year/100 + year/400 + (13*month+8)/5 + day) % 7; }
現在使われているグレゴリオ暦の初日は1582年10月15日(金曜日)である。 本関数はその日以降の曜日を正しく算出する。
ちなみに、1582年10月15日の前日はなんと、ユリウス暦1582年10月4日 (木曜日)である。