一个短小、高效的 C++函数,用来判断指定日期是星期几:
int day_of_week(int y, int m, int d) /* 0 = Sunday */
{
static int t[] = {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4};
y -= m < 3;
return (y + y/4 - y/100 + y/400 + t[m-1] + d) % 7;
}
注意, 0 表示星期日, 1-6 表示星期一到星期六。
Q. E. D.