计算2000~2099年任一天星期几

来源:互联网 发布:制作彩铃用什么软件 编辑:程序博客网 时间:2024/05/29 17:50

// // 计算2000~2099年任一天星期几
// year    : 00-99
// month: 01-12
// day     : 01-31
unsigned char GetWeekFromDay(unsigned char year,unsigned char month,unsigned char day)
{
    if( month == 1 || month == 2 )  
    {
        month += 12;
        if( year> 0 )
            year--;
        else
            year = 4;
    }

    // 返回星期几(星期一用1表示,而星期天用7表示)
    return 1+(( day + 2*month + 3*(month+1)/5 + year + year/4 ) %7);

试了几个日期算了下 都对的。
感觉好神奇。

年月日星期之间都应该有规律的吧