首页 > 其他 > 详细

基姆拉尔森计算公式(计算星期几)

时间:2019-09-12 09:34:49      阅读:639      评论:0      收藏:0      [点我收藏+]

给定一个xxxx-xx-xx日期,计算为星期几。

直接使用基姆拉尔森计算公式,外文名是Kim larsen calculation formula。

从 公元0年1月1日星期日 开始,已考虑各种因素。详见过程见大佬博客基姆拉尔森计算  公式推导

#include <stdio.h>

/*
* 基姆拉尔森计算公式
* W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7
*/
int week(int y, int m, int d)
{
    if (m < 3) {
        m += 12;
        y--;
    }

    int w = (d + 2*m + 3*(m + 1)/5 + y + y/4 - y/100 + y/400 + 1) % 7;
    return w;
}

int main()
{
    printf("%d\n", week(2019, 9, 15));  //=>0  星期天
    printf("%d\n", week(2015, 4, 16));  // => 3 星期四
    printf("%d\n", week(1989, 2, 3));   // => 4 星期五

    return 0;
}

 

 

参考链接:

1. https://blog.cocoabit.com/mo-nian-li-ji-suan-xing-qi-ji-mu-la-er-sen-gong-shi/

2. https://www.cnblogs.com/SeekHit/p/7498408.html

基姆拉尔森计算公式(计算星期几)

原文:https://www.cnblogs.com/lfri/p/11509669.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!