セグメントウィジェット(2)

339 ワード

計算year、month、dayは何曜日で、ネット上ではこの比較的頼りになる公式しか見られません.
int getWeek(int year, int month, int day)
{
    int w = 0, y = year, c = 0, m = month, d = day;
    if(m < 3){m += 12; y--;} //m: 3-14
    c = y/100;
    y = y%100;
    w=y+y/4+c/4-2*c+26*(m+1)/10+d-1; //Zeller
    return (w > 0 ? w%7 : w%7 + 7);
}