知道日期算星期几怎么算

推荐 生活 2019-10-19 13:03:32 2110

本文收集整理关于知道日期算星期几怎么算的相关议题,使用内容导航快速到达。

内容导航:

  • Q1:c语言知道日期 算星期几
  • Q2:谁知道看日期能迅速算出是星期几的方法
  • Q3:怎样由日期推算是星期几
  • Q4:根据日期知道当天是星期几的手动计算方法
  • Q1:c语言知道日期 算星期几

    C语言根据日期判断星期几(使用基姆拉尔森计算公式)
    算法如下:
    基姆拉尔森计算公式
    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日为星期一</PRE><PRE>程序如下:
    #include "stdio.h"
    void CaculateWeekDay(int y,int m, int d)
    {
    if(m==1m==2) {
    m+=12;
    y--;
    }
    int iWeek=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
    switch(iWeek)
    {
    case 0: printf("星期一\n"); break;
    case 1: printf("星期二\n"); break;
    case 2: printf("星期三\n"); break;
    case 3: printf("星期四\n"); break;
    case 4: printf("星期五\n"); break;
    case 5: printf("星期六\n"); break;
    case 6: printf("星期日\n"); break;
    }
    }
    void main()
    {
    int year=0,month=0,day=0;
    printf("请输入日期:\n格式为:1900,1,1\n");
    char temp = 1;
    while (temp != 0)
    {
    scanf("%d,%d,%d",&year,&month,&day);
    scanf("%c",&temp);
    CaculateWeekDay(year,month,day);
    printf("输入0退出,其他继续:");
    scanf("%c",&temp);
    }
    }
    WWW.yijita%O.coM

    Q2:谁知道看日期能迅速算出是星期几的方法

    首先,把你想要知道的日期号,加上该月份代号,再除以7,能整除的就是星期日;不能整除的,余数是几,那天就是星期几。如果日期号和月份代号相加的和小于7,那么这个和是几,那天就是星期几。
    例如:想知道2006年5月20日是星期几,就把“20”加上2006年5月的代号“0”,所得的和是 20 ,再用20除以7,余数是6,那么2006年5月20号就是星期6。
    再举个例子:想知道2006年2月3日是星期几,那么就把“3”加上2月的代号“2”,和为5。由于5小于7,所以2006年2月3日就是星期5。
    由于各年的月份代号不尽相同,下面给出各年月份代号的计算方法:
    首先要有一本日历,然后随便找一天,例如2006年8月5日,那天是星期6,就把“6”减去“5”,所得的差为“1”,那么2006年8月的代号就是1,其他月份代号的计算方法可以次类推。
    这个方法写成公式就是:该年月份代号=该月星期几-该月日期号。
    注意:式中取该月日期号时,必须小于或等于7;取星期日时,数值按7计算,该月星期几的数值要大于日期号数值。

    Q3:怎样由日期推算是星期几

    只需要知道三个代码
    日期代码+月份代码+年份代码
    就可以秒算任意年份任意日期的星期数
    方法
    1、日期代码指的是日期数,如3月18号,日期代码为18。4月7号,日期代码为7。
    2、月份代码(需要小小记忆)
    五月 是 0
    八月 是 1、二月 三月 十一月 是 2、六月 是 3、九月 十二月 是4、四月 七月 是5、一月 十月 是 6、如果遇到闰年 则二月代码变为1,一月代码变为5,其它不变。即,非闰年的月份代码为622503 514624,闰年的月份代码为512503 514624。
    3、年份代码
    举个例子 2010年的代码,我们用尾数10除以4(忽略余数)再加上10得到数字12,再用12除以7,得到的余数5就是2010年的代码。
    也就是说,心算出2000到2099任意年份的代码,只需将其后两位数X除以4(忽略余数),然后与X相加,并除以7就可以了,得到的余数就是其年份代码。10年的年份代码是5,11年年份代码为6。
    4、秒算任意日期的星期数
    如,我们算一下2010年4月25日
    日期代码25、月份代码5、年份代码5、日期代码+月份代码+年份代码=25+5+5=35、35是7的倍数,所以2010年4月25日是星期日
    再比如算一下2010年10月1日
    日期代码1、月份代码6、年份代码5、日期代码+月份代码+年份代码=1+6+5=12、12除以7余5,所以2010年10月1日是星期五
    如果得到的代码和是小于7的数,那么此数直接是星期数
    如果得到的代码和是大于7的数,那么将该数除以7得到的余数为星期数。
    方法二
    原理:蔡勒公式
    1、W=[C/4]-2C+y+[y/4]+[26(m+1)/10]+d-1 (其中[ ]为取整符号)
    2、其中,W是所求日期的星期数.如果求得的数大于7,可以减去7的倍数,直到余数小于7为止.c是公元年份的前两位数字,y是已知公元年份的后两位数字;m是月数,d是日数.方括[ ]表示只截取该数的整数部分。
    3、还有一个特别要注意的地方:所求的月份如果是1月或2月,则应视为前一年的13月或14月.所以公式中m 的取值范围不是1-12,而是3-14.

    Q4:根据日期知道当天是星期几的手动计算方法

    蔡勒(Zeller)公式:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
    公式中的符号含义如下,w:星期;c:世纪-1;y:年(两位数);m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算);d:日;[ ]代表取整,即只要整数部分。(C是世纪数减一,y是年份后两位,M是月份,d是日数。1月和2月要按上一年的13月和 14月来算,这时C和y均按上一年取值。)
    算出来的W除以7,余数是几就是星期几。如果余数是0,则为星期日。
    以2049年10月1日(100周年国庆)为例,用蔡勒(Zeller)公式进行计算,过程如下:
    蔡勒(Zeller)公式:
    w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
    =49+[49/4]+[20/4]-2×20+[26× (10+1)/10]+1-1
    =49+[12.25]+5-40+[28.6]
    =49+12+5-40+28
    =54 (除以7余5)
    即2049年10月1日(100周年国庆)是星期5。

    相关文章
    怎么样才能知道自己有没有口臭2019-01-10
    怎么样知道自己的兴趣2019-01-12
    迷茫不知道做什么工作2019-01-13
    手机百度知道怎么发私信2019-01-13
    很迷茫不知道做什么工作2019-01-14
    怎么知道自己缺乏维生素E2019-01-16
    百度知道怎么回答优质2019-01-16
    微信怎么知道对方在线2019-01-16
    生男生女早知道的方法2019-01-16
    如何知道股票上升趋势2019-01-17