基姆拉尔森计算公式:计算每个月1号是周几的公式

算法如下:基姆拉尔森计算公式W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7在公式中d表示日期中的日数,m表示月份数,y表示年数。注意:在公式中有个与其他公式不同的地方:把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。以公元元年为参考,公元元年1月1日为星期一。
测试:

    //year-年 month-月 day-天数
    int year = 2018;
    int month = 8;
    int day = 31;
    if(month == 1||month == 2) {
        month += 12;
        year--;
        }
    int w = (day+2*month+3*(month+1)/5+ year +year/4-year/100+year/400)%7;
    System.out.println(w);

猜你喜欢

转载自blog.csdn.net/ilovehua521/article/details/81981721
今日推荐