21.27 由一個日期, 怎樣知道是星期幾?

用 mktime() 或 localtime() (參見問題 13.11  和 13.12, 如果 tm_hour 的值位 0, 要注意 DST (夏時制) 的調整); 或者 Zeller 的 congruence (參閱 sci.math FAQ); 或者這個由 Tomohiko Sakamoto 提供的優雅的代碼:
    int dayofweek(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;
    }

參見問題 13.12 和 20.28

參考資料: [ISO, Sec. 7.12.2.3]。

翻譯朱群英、孫雲, LaTeX2HTML 編譯 朱群英 (2005-06-23)