精华内容
下载资源
问答
  • 60轻松计算出任意一年任意一天星期?一、提出问题 60就轻松计算出任意一年任意一天星期吗? 你相信吗? 如果能算出,连脑神经专家都认为是神童。 大家可以通过度娘搜索“张戈 自闭症”,连人民网都...

    60秒轻松计算出任意一年任意一天星期几?


    一、提出问题

         60秒就可以轻松计算出任意一年任意一天星期几吗?

         你相信吗?

         如果能算出,连脑神经专家都认为是神童。

         大家可以通过度娘搜索“张戈   自闭症”,连人民网都有报道。有图为证:


         如何快速计算出任意一年任意一天,星期几呢?如:2015年元旦,星期几。


    二、解决之道

    计算公式是:

    星期几 = (年份代码 + 月份代码 + 日期)mod 7


    mod 7 的含义就是说,对该数除以7的余数是多少??


    三、21世纪年份代码的计算公式

    a.应用举例

    包括:2000--2099,包含2000年以及2099年

    b.应用举例

    用于计算21世纪每个年份的年份代码的计算公式是:

    年份 = 2000 + X

    年份代码 = ( X / 4 + X)mod 7。

    解释一下:

    1.X除以4的商,只要商,不要余数,也就是我们常说的取结果的整数部分;

    2.然后再与X相加;

    3.最后讲该结果除以7,所得余数,即为年份代码;

    c.应用举例

    2015 = 2000 + 15

    所以2015的X,对应的当然就是15啦!

    15除以4的商,当然就是3啰!

    3加上15,等于18,

    18除以7,得到的余数,就是4。

    数学规范表达就是:

    2015年份代码 = ( 15 / 4 + 15) mod 7 = (3 + 15) mod 7 = 4。

    所以2015年的年份代码就是4。

    d.考一考、练一练

    您知道2000的年份代码吗?

    温馨提示:

    看公式:

    年份代码 = ( X / 4 + X)mod 7。

    想都不用想,2000年的年份代码当然是0啦!


    四、其他世纪年份代码的计算公式

    18世纪的年份代码,是在21世纪的年份代码的基础上加上5或者减去2;

    (18世纪包括1700--1799,包含1700年以及1799年


    19世纪的年份代码,是在21世纪的年份代码的基础上加上3;

    (19世纪包括1800--1899,包含1800年以及1899年


    20世纪的年份代码,是在21世纪的年份代码的基础上加上1;

    (18世纪包括1700--1799,包含1700年以及1799年


    22世纪的年份代码,是在21世纪的年份代码的基础上加上5或者减去2。

    (22世纪包括2100--2199,包含2100年以及2199年

    目前的公历历法,就是格列高利历法,英国从1752年才开始采用这个历法。

    18世纪是该历法的起点世纪。

    格列高利历法,是400年1个轮回。

    所以18世纪的年份代码与22世纪的年份代码,完全一样。

    18世纪与22世纪正好相差400年。


    也就是说:

    2415年的每一天的星期几与2015年每一天的星期几是一样的,是一模一样的。

    2415年4月8日,与2015年4月8月,都是星期二。


    五、月份代码详细说明

    具体如下:

    序号

    月份

    月份代码

    1

    五月

    0

    2

    八月

    1

    3

    二月、三月、十一月

    2

    4

    六月

    3

    5

    九月、十二月

    4

    6

    四月、七月

    5

    7

    一月、十月

    6


    备注:

    如果该年是闰年,那么:

    1月份的数字代码为5,

    2月份的数字代码为1。


    PS,偶再啰嗦几句:

    余数是几,就代表星期几,

    如余数是1,就表示是星期一;

    余数是2,就表示是星期二。

    需要说明的,如果余数是0,则表示是:星期天/星期日。

    请家长朋友一定要注意下:余数0,代表是:星期天/星期日。


    六、何谓闰年????

    1.口诀:

    四年一闰,百年不闰,四百年再闰。

    2.计算方法:

    1.能被4整除的年份,但不能被100整除,那么他是闰年;

    例如:

    2012年,能被4整除,也不能被100整除,所以2012是闰年。

    2100年,能被4整除,但也能被100整除,所以2100不是闰年。


    2.能被400整除的年份,那么他也是闰年。

    2000年,就是能被400整除,所以,2000年是闰年。


    七、案例解析

    1.案例一:  

    2015年元旦,星期几呢?

    根据计算公式:

    星期几 = (年份代码 + 月份代码 + 日期)mod 7

    2015年的年份代码是4

    1月份的月份代码是6

    所以,

    ( 4+ 6+ 1) mod 7 = 11 mod 7 = 4。

    再说一遍,11 mod 7 就是对该数字除以7,所得的余数。

    答案就是:2015年元旦,星期四。


    2.案例二:

    2016年元旦,星期几呢?

    根据计算公式:

    星期几 = (年份代码 + 月份代码 + 日期)mod 7

    2016年的年份代码是(16 / 4 + 16)/ mod 7 = 6

    2016年的年份代码是6。

    注意2016年是闰年,所以1月份的月份代码应该是5

    所以,

    ( 6 + 5 + 1) mod 7 = 12 mod 7 = 5。

    再说一遍,12 mod 7 就是对该数字除以7,所得的余数。

    答案就是:2016年元旦,星期五。


    展开全文
  • 统计qq一天中每在线人数

    万次阅读 2018-08-30 23:24:52
    【问题】为了统计一天内QQ每的在线用户数量,每次一个用户下线时会生成一条记录到文件里:记录里三个字段(上线时间,下线时间,用户名),时间以为单位。现在一个文件包含了当天生成的N条记录(N很大),请...

    【问题】为了统计一天内QQ每秒的在线用户数量,每次一个用户下线时会生成一条记录到文件里:记录里有三个字段(上线时间,下线时间,用户名),时间以秒为单位。现在有一个文件包含了当天生成的N条记录(N很大),请设计一个算法根据N条记录统计出当天每秒在线用户的数量。(0<=上线时间& lt;下线时间<=24*3600)

    【思路】创建一个数组change[ 24*3600 ]用来记录一天中,每秒用户的变化情况,在第i秒上线一人change[ i ]++,在第i秒下线一人change[ i ] - -,change[ i ]若为正,说明这一秒上线人数大于下线人数,反之亦然。再创建一个online[ 24*3600 ],用来记录每秒在线人数,online[ 0 ] = 0表示第0秒在线人数为0,计算方法为online[ n ] = online[ n-1 ] + change[ n ]

    展开全文
  • Go语言实现,判断给出的数是几天几小时几秒: package main import "fmt" func main(){ //给出数:107653 const SECOND = 107653 fmt.Printf("%d%d小时%d分%d\n", SECOND...

    Go语言实现,判断给出的秒数是几天几小时几分几秒:

    package main
    
    import "fmt"
    
    
    func main(){
    	//给出秒数:107653
    	const SECOND = 107653
    	fmt.Printf("%d天%d小时%d分%d秒\n",
    		SECOND / 60 / 60 / 24 % 365,
    		SECOND / 60 / 60 % 24,
    		SECOND / 60 % 60,
    		SECOND % 60)
    	fmt.Println(60 * 60 *24 )
    }

     

    1.对给出秒数对60进行取余,就是这个值所包含的秒数位上的数值。
    2.SECOND除以60得到的是,SECOND中可以包含的分钟数,在对这个值取模60,就是分钟位上的值。
    3.根据上面的推导就不难得出小时和天对应的数值了。

    展开全文
  • 一天内时分的重合次数

    千次阅读 2012-09-24 02:07:10
    得出的结论是一天之中时分总共会重合2次,时分会重合20次。//程序如下: #include //设置时分秒针的速度 //时针720走一格,分针60走一格,秒针1走一格,钟表一圈共60格 //因此时针速度为1/720,分针速度为1...

    本文主体摘自http://blog.csdn.net/zqt520/article/details/7365522,感谢作者。

    得出的结论是一天之中时分秒总共会重合2次,时分会重合20次。
    //程序如下:
    #include<stdio.h>
    
    //设置时分秒针的速度
    //时针720秒走一格,分针60秒走一格,秒针1秒走一格,钟表一圈共60格
    //因此时针速度为1/720,分针速度为1/60,但在程序中为了便于实现,全部扩大720倍
    //所以得出如下宏定义
    
    #define v_h 1 //时针速度
    #define v_m 12 //分针速度
    #define v_s 720 //秒针速度
    #define s_total (720*60) //一圈的总路程
    
    int s_h(int time)
    {
    return v_h*time;
    }
    int s_m(int time)
    {
    return v_m*time;
    }
    int s_s(int time)
    {
    return v_s*time;
    }
    int main()
    {
      int n_hms=0;   
      int time=0;
      int n_hm=0;
      int n_hs=0;
      int n_ms=0;
      /*思路:三针相遇并不一定是在整秒时相遇,也有可能是在相邻两秒之间相遇,例如某次是在秒针从1 秒跳到2秒的过程中相遇。但无论如何,在相遇的那一刻,秒针比分针多走的圈数比这次相遇前要多一圈,例如某时刻秒针比分针多走了100圈,在下次相遇时,秒针就比分针多走了101圈。同理,分针与时针,秒针与时针都满足这点。*/
      for(time=1;time<=24*60*60;time++)
      {
    	  //相遇的前一秒总会比相遇后少走了1圈
    	if(((s_s(time)-s_m(time))/s_total+1)==((s_s(time+1)-s_m(time+1))/s_total) &&
    	((s_m(time)-s_h(time))/s_total+1)==((s_m(time+1)-s_h(time+1))/(s_total)))
    	{
    		n_hms++;
    		printf("第%d次相遇的时间为 %d:%d:%d\n",n_hms,(time+1)/3600,(time+1)%3600/60,(time+1)%3600%60);
    	}else if(((s_s(time)-s_m(time))/s_total+1)==((s_s(time+1)-s_m(time+1))/s_total)){
    		n_ms++;
    	}else if(((s_m(time)-s_h(time))/s_total+1)==((s_m(time+1)-s_h(time+1))/(s_total))){
    		n_hm++;
    	}else if(((s_s(time)-s_h(time))/s_total+1)==((s_s(time+1)-s_h(time+1))/(s_total))){
    		n_hs++;
    	}
      }
    
      printf("一天中时分秒共相遇了%d次\n",n_hms);
      printf("一天中时分共相遇了%d次\n",n_hm);
      printf("一天中分秒共相遇了%d次\n",n_ms);
      printf("一天中时秒共相遇了%d次\n",n_hs);
    }
    


    程序执行结果为:

    展开全文
  • 举个例子:7除以2,得到商3,余1107653/24*60*60=得到是商 也就是天数107653%24*60*60=得到是余数 也就是不足一天的时间以此类推:不足一天的时间/60*60=得到的商是小时不足一天的时间%60*60=得到的商是不足一小时的...
  • 自定义个函数,使其可以把具体的数,转换为几天几小时分钟的格式,如下: /**  * 将具体的数转换为几天几小时分钟  * @param number $seconds 数  * @return string  */ function ...
  • C#之小练①(107653几天几小时分钟几秒?)

    千次阅读 热门讨论 2018-12-11 20:27:13
    这两学到了C#的运算符、运算表达式以及取整取余,视频中这样个练习题:107653几天几小时分钟几秒,看完老师给的这个题目后就兴奋的想要自己理思路算一下,结果好兴奋,自己的思路跟老师的一样,梳理出来...
  • 【算法】统计qq一天中每在线人数

    万次阅读 2014-10-17 23:54:01
    【问题】为了统计一天内QQ每的在线用户数量,每次一个用户下线时会生成一条记录到文件里:记录里三个字段(上线时间,下线时间,用户名),时间以为单位。现在一个文件包含了当天生成的N条记录(N很大),请...
  •   在使用redis缓存的场景中,往往需要设置 键-值 的过期时间,我们在项目中遇到需要获得当前时间点离当前结束剩余的数作为存储到redis的 键-值 的过期时间。改时间通过java生成,下面提供种方案供读者参考:...
  • java 获取一天零点零分零时间戳

    万次阅读 2018-09-12 01:19:54
    //今天23点59分59的毫秒数 long yesterday=System.currentTimeMillis()-24*60*60*1000;//昨天的这时间的毫秒数 System.out.println(new Timestamp(current));//当前时间 System.out.println(new Timestamp...
  • uniapp中实现,时,分,的倒计时: 在方法中声明函数,上代码: async getInfo() { // 倒计时 function timeStamp(times) { let timestamp = Date.parse(new Date()); timestamp = timestamp / 1000;...
  • //上个月第一天0点 DateTime date2 = DateTime.Now.AddMonths(-1).Date.AddDays(1 - DateTime.Now.Day);  Response.Write(date2.ToString...//上个月最后一天23点59分59  string LastMonth_lastDay = DateTime.
  • 几秒前,分钟前,小时前,几天前,月前,年前的java实现
  • var _totalMillisecond = 275606; var _totalSecond = Math.ceil(_totalMillisecond / 1000); var _day = Math.floor(_totalSecond / (24 * 60 * 60)); var _hour = Math.floor((_totalSecond % (24 * 60 * 60)) /
  • 【英语】很抱歉,我一天的86400却没有你

    万次阅读 热门讨论 2017-05-28 21:21:16
    回想这个月,从刚开始的没有意识到学习英语,到意识到,也就坚持了几天的学习,现在又放下了,是时候该静下心来环顾一下四周,给自己打打鸡血了!坚持过小段时间听喜马拉雅上的旧美,但是听不进去,属于左耳朵...
  • msyql中很好用的时间查询方法,直接上代码,去看看效果吧 SELECT CURDATE( ), now( ), CURTIME( ), date_sub( CURDATE( ), INTERVAL 1 DAY ) yestorday, date_sub( CURDATE( ), INTERVAL 1 DAY ) today ...
  • to_char() select count(*) from SPORTS where to_char(ap_time,'YYYY/MM/DD')='2019/06/20'; 过滤(时分)查日期 SELECT to_char(ap_time,'YYYY/MM/DD') from SPORTS;
  • 1. sql server 转化成 小时分钟(由于在远程机上写的拷不出来,直接截图)... 这里一天按8小时(8*3600=28800)计算如果不是,自行修改 oracle的话会比较简单点 输出结果:testTime是以为单位
  • module data_clock ( input i_sys_clk, input i_sys_rstn, output [3:0] shi, output [5:0]fen, output [5:0] miao ); //miao cnt; reg [5:0] miao_cnt;...always@(posedge i_sys_clk or negedge i_sys_
  • 背景:要写一个sql,年月日时分要与年月日做判断是否是同一天! 1:判断同一天 select * from 表名 where TO_DATE(substr(年月日时分, 1, 10),'yyyy-MM-dd')=TO_DATE('年月日','yyyy-MM-dd')1 2:将表中的年月...
  • 2.在【Console】页签中,书写js代码,首先将当前日期时间赋值给个js变量curTime,代码如下: var curTime = new Date(); 3.在当前时间curTime变量上加上1个小时,并将结果赋值给addHour变量,代码如下: ...
  • 1.获取前一天的 0点 和 23点59分59 DECLARE @startDate DATE, @startDateTime DATETIME, @endDate DATETIME SET @startDate = GETDATE() SELECT @startDateTime = DATEADD(DAY,-1,@startDate); SET @...
  • //,天数除以7,得到的整数是共周 int mod = days % 7;//剩余的天数是整数周之后剩余的天数 Console.WriteLine("{0}中共{1}周{2}", days, week, mod); Console.ReadKey(); } } } 3.编程实现计算几天...
  • 使用 php 获取十分钟之后的时间方法实例代码 //十分钟之后 600 echo $stop_time="2019-06-17 17:55:25"; echo '十分钟之后'.$ten=date("Y-m-d H:i:s",strtotime($stop_time)+600); 结果如下: ...
  • 本来没什么事,但看到人用大堆的 if-else 控制语句就点火了,也不想想:用个变量次次除以虽然不同但规律的数字,也不嫌累,纯粹码农,没有任何脑子在里面,我也懒得整那么细了,直接上代码吧: ...
  • 使用场景:redis缓存,需要设置 键-值 的...使用方法:方案: 使用Calendar(Java 8之前) public static Integer getRemainSecondsOneDay(Date currentDate) { Calendar midnight=Calendar.getInstance(); midn...
  • // getDay()返回表示星期的某一天的数字。返回值是 0(周日) 到 6(周六) 之间的一个整数。 const day = date.getDay(); var h = date.getHours(); h = h ('0' + h) : h; var minute = date.getMinutes(); var ...
  • java8 LocalTime DateTimeFormatter 时间加 时间间隔 时间加几秒 import java.time.LocalTime; import java.time.format.DateTimeFormatter; public class TestZD { public static String ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 348,949
精华内容 139,579
关键字:

一天有几秒