日付から曜日を取得するには、ツェラーの公式を使用します。
ツェラーの公式は太陽暦が基本になっているので、1582年10月15日より前の日付は算出不可です。
// nYear=年、nMonth=月、nDay=日
// 曜日を0 〜 6で返します。(0 = 日曜日、1 = 月曜日・・です)
int getZeller(int nYear, int nMonth, int nDay)
{
if(nMonth < 3){
nYear--;
nMonth += 12;
}
return (nYear + nYear / 4 - nYear / 100 + nYear / 400 + (13 * nMonth + 8) / 5 + nDay) % 7;
}
|