精华内容
下载资源
问答
  • 计算具体日期星期几

    2019-04-24 22:13:25
    时间基准 公元0年1月1日 星期日 首先计算0年1月几号星期几 int week;//周几 ...然后考虑如何计算不同年份1月几号星期几(以0年1月几号星期几为基础计算) 不考虑瑞年的情况下 一年有365天...

    时间基准 公元0年1月1日 星期日

      首先计算0年1月几号星期几

      

    int week;//周几
    int day; //日
    week = (day-1)%7;

    因为0年1月1 日 星期日 所以在求余的时候减去1 就可以得到一个数字 0 1 2 3 4 5 6 代表星期几

    然后考虑如何计算不同年份1月几号星期几(以0年1月几号星期几为基础计算)

     不考虑瑞年的情况下 一年有365天 由365%7=1 可以得出每一年的第一天和最后一天星期几是相同的 同时也就是说下一年的第一天周几要比上一年的第一天周几多1;例如0年1月1日星期日则1年1月1日就会星期一 ,每7年为一个循环,一个周期后周几又会相同,如果年份和7求余为零则周几和0年1月1日周几是相同的。例如0年1月1日和7年1月1日都是星期日。如果年份对7求余有余数,这个时候在这年份下1月几号星期几就和0年1月几号星期几不一样了,如果余数为1 0年1月星期几加1就可以得到这个年份下1月几号星期几就要加1,要是余数为 2 3 4 5 6 以此类推。

    所以计算不同年份1月几号星期几的程序如下

    int week;
    int day;
    int year; //年份
    
    week = (day-1+year)%7;

      如果考虑瑞年 瑞年有366天而366对7求余会得到余数2,说明瑞年相比于平年会让周几往后再多移一天,计算本年份之前的瑞年的个数,如果为7的倍数则没有影响 如果有余数 本年份1月几号星期几会向后移

    计算瑞年的个数 程序如下

    int week;
    int day;
    int year;
    
    week = (day-1 + year + (year-1)/4 - (year-1)/100 + (year+4)/400)%7;

    然后再考虑怎么计算不同年份不同月份不同日星期几(以1月为基础进行计算)(先不考虑瑞年)

      首先先计算出其他月份和1月相比的误差

      假设每个月有只有28天 因为28%7=0  所以每个月相同的号周几是相同的 然而现实是 并不是每个月都是28 天 所以就要找到修正数据来修正

      ======================================

       月份       天数          累积              %7

        1             31            0                 0

        2            28             3                 3

        3            31             3                 3

        4            30             6                 6

        5            31            8                  1

        6            30           11                 4

        7           31            13                 6

        8            31           16                 2

        9            30          19                 5

        10          31         21                  0

        11          30         24                  3

        12          31       26                   5

    =====================================

       累积:是前面的所有月份和28的差的和 

       %7: 累积对于7求余 因为当几号加7时星期几是不变的 真正能影响星期几的是7的余数 一个月份受它前面所有月份的累积(月份天数和28的差)影响

    则程序可以这样写

    int week;
    int year;
    int day;
    int month;  //月份
    int table[12] = {0,3,3,6,1,4,6,2,5,0,3,5}//修正数据
    
    week = (day-1 + year + (year-1)/4 - (year-1)/100 + (year-1)/400 + table[month-1])%7;

     

    展开全文
  • ...如何根据日期实现计算当日是星期几 2012-01-21 13:27:34| 分类: 常见难题解决方法 |举报|字号 订阅  如何根据日期实现计算当日是星期几? 今天在编写DS1302实时时钟里,引发这个猜想
    原文网址:http://blog.163.com/wenxianliang08@126/blog/static/83583263201202112636331/


    如何根据日期实现计算当日是星期几  


    2012-01-21 13:27:34|  分类: 常见难题解决方法 |举报|字号 订阅
       如何根据日期实现计算当日是星期几? 今天在编写DS1302实时时钟里,引发这个猜想, 想实现根据日期来计算出这个日期是星期几了,并显示在1602液晶里。 因此现在收集了这方面的信息,原来是有公式的,在此记录下,方便以后还会用到:


         蔡勒(Zeller)公式:是一个计算星期的公式,这个公式推算出是星期几。 


    蔡勒公式如下: 
    W = [C/4] - 2C + y + [y/4] + [13 * (M+1) / 5] + d - 1 


    公式中的符号含义如下: 
    w:星期; w对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六 
    c:世纪(前两位数) 
    y:年(后两位数) 
    m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算) 
    d:日 
    [ ]代表取整,即只要整数部分。 


    下面以中华人民共和国成立100周年纪念日那天(2049年10月1日)来计算是星期几,过程如下: 
    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周年国庆)是星期五。 


    再比如计算2006年4月4日,过程如下: 
    w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 
    =6+[6/4]+[20/4]-2*20+[26*(4+1)/10]+4-1 
    =-12 (除以7余2,注意对负数的取模运算!) 


      以上的公式都只适合于1582年10月15日之后的日期使用。


    比如: 今天是 2012年1月21日,那么如何计算呢?
    W = [C/4] - 2C + y + [y/4] + [13 * (M+1) / 5] + d - 1      // C=20    y=11,  M=13
        =[20/4]-2*20+11+[11/4]+[13*(13+1)/5]+21-1
        =5-40+11+2+36+20 =34


    最后 34%7=6  即 星期六, 看看日历,是不是今天就是 星期六啊。  这个公式有用啊, 很容易使用C语言实现的。
    展开全文
  • 1、计算某个日期星期几 如下图,是宅男心中的大事记,要计算发生日期是周几,公式为: =WEEKDAY(B2.2) WEEKDAY函数第二参数使用2.用数字1到7表示周一到周日。这个函数在数组计算中经常用于按周统计数据。 如果...

    99c0dfba1a89874eada468daad577967.png

    1、计算某个日期是星期几

      如下图,是宅男心中的大事记,要计算发生日期是周几,公式为:

      =WEEKDAY(B2.2)

      WEEKDAY函数第二参数使用2.用数字1到7表示周一到周日。这个函数在数组计算中经常用于按周统计数据。

      如果要显示为中文的星期几,公式为:

      =TEXT(B2."aaaa")

      TEXT的格式代码使用四个a,就会返回日期的中文星期,记不住的话,可以想成:啊…啊…啊…啊……

    2、计算n个工作日之后的日期

      雷雷给东东一封表白信,东东说要4个工作日之后给回复。

      4个工作日之后是哪天呢?

      =WORKDAY(A2.4.D2:D4)

      WORKDAY函数第一参数是开始日期,第二参数是指定的工作日,第三参数是要排除的法定节假日,如果没有,第三参数可省略。

    3、计算这个月有多少工作日

      男朋友爱上了前男友,苍老师也要订婚了。所以还是老老实实工作,看看这个月要工作多少天吧。

      =NETWORKDAYS(A2.B2.D2)

      NETWORKDAYS函数第一参数为起始日期。第二参数为结束日期。第三参数是需要排除的节假日,如果没有,第三参数可省略。

    4、每周单休的工作日计算

      东东梦想有一天能参加苍老师的婚礼,所以要多干点正事了。从现在开始,每周六休息一天,假如苍老师的婚礼在7月7日,计算一下还要工作多少天呢?

    在工作学习中,我们经常会遇到教师如何使用Excel计算某个日期是星期几这样的问题。哥白尼说过:人的天职在勇于探索真理。因此,面对教师如何使用Excel计算某个日期是星期几我们应该有努力探索的精神。不要害怕学习,知识没有重量,它是你随时可以获取的又随时可以携带的宝库对于这个问题也是一样的。读书忌死读,死读钻牛角,对于教师如何使用Excel计算某个日期是星期几我们一定要从不同角度去理解,只有这样才能找到解决办法。哥白尼说过:人的天职在勇于探索真理。

      =NETWORKDAYS.INTL(A2.B2."0000010",D2:D10)

      NETWORKDAYS.INTL函数第第一参数为起始日期。第二参数为结束日期。

      第三参数是指定哪一天为休息日,用7位数字表示,1是休息,0是工作。嗯嗯, 这个函数的强大之处,就是可以识别1和0……

      第四参数嘛,就是用于排除的法定节假日。

    以上就是Leo老师对于教师如何使用Excel计算某个日期是星期几的介绍,不知道是否解决了您的问题,欢迎给我留言就教师如何使用Excel计算某个日期是星期几与我讨论,更多内容请访问我的博客:简书:Leo老师经验谈 - 简书

    展开全文
  • 如何快速计算星期几

    千次阅读 2017-03-29 15:57:02
    有的时候需要根据日期快速计算星期几来,我从网上搜索到一个口诀,验证了几个日期,发现还是靠谱的,这个公式的证明目前我还不会,但可以保证2000-2099的星期计算是靠谱的,其他时间我没有验证过。 const u8 ...

    有的时候需要根据日期快速计算出星期几来,我从网上搜索到一个口诀,验证了几个日期,发现还是靠谱的,这个公式的证明目前我还不会,但可以保证2000-2099的星期计算是靠谱的,其他时间我没有验证过。

    const u8 month_code[][12]={
        {6,2,2,5,0,3,5,1,4,6,2,4},
        {5,1,2,5,0,3,5,1,4,6,2,4},
    };
    
    int calc_week(u8 nian,u8 yue,u8 ri)
    {
    	u8 isloop;
    	u8 yc,mc,week;
    
    	isloop=((nian&3)!=0)?0:1;
    
    	yc=(nian/4+nian)%7;
    
    	mc=month_code[isloop][yue-1];  //这里的闰年只是简单判断
    
    	week=(yc+mc+ri)%7;
    
    	return week;
    }

    简单验证下,2002-3-31是星期日,2020-2-28是星期五,2099-2-28是星期六,2032-7-28是星期三,... ...


    展开全文
  • 我们在使用电子表格企业办公的情况下,经常会必须测算某一时间是星期几,那麼如何使用电子表格来实现呢?下面就给大家介绍一下电子表格是如何快速测算某一时间是星期几的。 快速测算星期几的方法: 最先开启1个带有...
  • Excel在使用的过程中,经常会有日期转换的问题,比如根据当前日期计算星期几如何进行快速计算呢,下面以excel2016为例,分享一种简单快捷的方法。1、 以下图统计表为例,选择需要转换的日期数据,如A2单元格。...
  • 比如说,2013-11-7 到2013-11-30 这段日期内, 周一,周三,周日分别为10,11,13,17,18,20,24,25,27 日 , 如何才能通过程序取出来呢。 最好是通过sql 语句直接取出来,如果不能java 代码也行。 数据库中这么存...
  • 如何计算某时间段内有几个星期几? Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiBase/html/delphi_20061216151111140.html 已知日期A是星期二、四、日中的一天。求A到B这段日期内共有几个星期二、四、...
  •  蔡勒(Zeller)公式,是一个计算星期的公式,随便给一个日期,就能用这个公式推算出是星期几。  若要计算日期是在1582年10月4日或之前,公式则为    以1582年9月3日为例:  1582年9月3日后:w = (d + 2*...
  • Problem Description Today is Saturday, 17th Nov,2007. Now, if i tell you a date, can you tell me what day it is ? ...There are multiply cases. ...There are three integers, year(0), month(0), day(0). ...
  • 如何判断给定日期星期几--Python

    千次阅读 2020-01-06 09:27:11
    公式法是以1900年1月1日(星期一)为起点进行计算,两个日期之间相隔的天数,然后按照一星期七天的周期判断指定日期为周几。这个方法适用于大多数的编程语言,并不具有python语言的特色 mon_days = [31, 28, 31, ...
  • 试过蔡勒(Zeller)公式 和基姆拉尔森计算公式, 发现还是一个改进版的基姆...在公式中d表示日期中的日数,m表示月份数,y表示年数。 注意:在公式中有个与其他公式不同的地方: 把一月和二月看成是上一年的十...
  • 如何10秒钟快速计算出2014年某一天星期几一、提出问题公元2014年即将来到,如何快速计算2014年某一天,星期几呢?如:2014年元旦,星期几。二、解决之道计算公式,或者说算法就是:星期几 = (年份代码 + 月份代码 +...
  • 各位朋友,你们好。...那么,这种节日的日期,该如何计算呢?我们以母亲节为例,给大家说说个思路。备注:以下方法不一定是最精简的,提供思路供参考。方法一=DATE(2020,5,SMALL(IF(WEEKDAY(DATE(2020,5,ROW($1...
  • Problem Description Today is Saturday, 17th Nov,2007. Now, if i tell you a date, can you tell me what day it is ? ...There are multiply cases. ...There are three integers, year(0), month(0), day(0). ...
  • 星期几计算

    2018-03-30 19:09:43
    经常会遇到别人问你几月几号是星期几的情况,如何不查...除此之外,有一个公式可以快速地根据日期计算这一天是星期几,这被称为蔡基姆拉尔森计算公式,假设星期为w,年份为y,月份为m,日期为d。w=(d+2×m+3×(m+1...
  • $temptimestr = "2005-05-15"$sdateline ... // 数字型的星期几,0-6怎样计算两个日期相差的天数? php 的方法是先变为秒数,然后相减啊,再除以每天的秒数,没有现成的函数$Date_1="2003-7-15";//也可以是:$Date_1="200
  • 在很多情况下,计算日期间隔需要将休息日减去。下面是用SQL语句设计的减去休息日的函数。但这里的休息日只包括星期日和星期六,包括其它休息日的程序的设计与之类似,只不过是多使用次case when 语句而已。还有,...
  • 在前面,我们分别利用泰勒公式和C标准库中的mktime()函数推算了某个特定日期所对应的星期几,刚做完这些,就又遇到了一个与日期相关的新任务: 老板把每个月例会的时间定在了每个月的第一个星期一,他让我把具体日期...
  • 我正在尝试计算“一年的周”中两个日期之间的差异。我可以获取datetime对象,并获取天数等,但不能获取周数。我当然不能减去日期,因为不能保证周末。我尝试使用d1.isocalendar()[1]减法获取星期数,d2....
  • C语言根据日期判断星期几(使用基姆拉尔森计算公式) 算法如下:  基姆拉尔森计算公式 W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日数,m表示月份数,y表示年数。 注意:在公式...
  • 题目要求:输出特定日期星期几 以键盘录入的形式提供3个整数,按顺序分别表示为年、月、日。如果只输入一个 整数则表示年,需要判断该年是否是闰年;如果输入两个整数,则表示年和月,需要 输出该年中该月的...
  • 算法如下:基姆拉尔森计算公式W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7在公式中d表示日期中的日数,m表示月份数,y表示年数。注意:在公式中有个与其他公式不同的地方:把一月和二月看成是上一年的十三月和十...
  • 再说10秒钟计算2014年某一天星期几

    千次阅读 2013-12-17 09:55:39
    再说10秒钟计算2014年某一天星期几有网友反映《如何10秒钟快速计算出2014年某一天星期几》,不可能10秒计算出来。首先,我想说,谢谢您认真阅读该篇文章,并且付诸实践,实际操练。然后,在这里,我想再多啰嗦几句。...
  • 本文简单介绍一下如何计算出任意一个日期星期几。第一步:制作报表;如图所示:A1单元格根据参数年份和参数月份判断该月的天数;A2单元格根据参数年份判断是否是润年,如果是则对二月份进行判断计算出该月总天数;...
  • Excel中如何巧妙计算结算日期

    千次阅读 2019-07-16 18:22:59
    首先,我们要计算出每个订单交货日期星期几,并计算出交货日期距离本周结束还有几天时间,输入公式并往下填充:=7-WEEKDAY(C2,2) 接下来根据得出的这个天数加上交货日期计算出当周星期天的日...
  • 本文简单介绍一下如何计算出任意一个日期星期几。 第一步:制作报表; 如图所示: A1单元格根据参数年份和参数月份判断该月的天数; A2单元格根据参数年份判断是否是润年,如果是则对二月份进行...
  • 算法如下:基姆拉尔森计算公式W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7在公式中d表示日期中的日数,m表示月份数,y表示年数。注意:在公式中有个与其他公式不同的地方:把一月和二月看成是上一年的十三月和十...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 174
精华内容 69
关键字:

如何计算日期星期几