码迷,mamicode.com
首页 > 其他好文 > 详细

日期计算

时间:2017-03-30 00:27:59      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:int   撤销   除法   span   str   class   htm   open   历史   

闰年的详细定义:

  1. 年份非整百且能被 4 整除的为闰年。(如 2004 年就是闰年, 2005 年不是闰年)
  2. 年份能被 400 整除的是闰年。(如 2000 年是闰年,1900 年不是闰年)

int is_leap_year(int year) {
    if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) {
        return 1;
    }
    return 0;
}

经常会遇到别人问你几月几号是星期几的情况,如何不查日历,直接用程序算出来呢?一种最简单的方法是,记住很久以前的某一天是星期几,比如公元 1 年 1 月 1 日是星期一。然后一天一天模拟,算出日期是星期几。这种方法容易理解,但是实现起来代码可能比较长。除此之外,有一个公式可以快速地根据日期计算这一天是星期几,这被称为 蔡基姆拉尔森计算公式

假设星期为 w, 年份为 y, 月份为 m, 日期为 d

w=(d+2×m+3×(m+1)/5+y+y/4?y/100+y/400)%7

然后把计算出来的 w 加上 1 就是真正的星期几了。

注意每年的 1,2 月要当成上一年 13,14 月计算,上述的除法均为整除。

小知识:历史上日期进行过一次修改,罗马教皇格里高利十三世在 1582 年组织了一批天文学家,根据哥白尼日心说计算出来的数据,对日历作了修改。将 1582 年 10 月 5 日到 14 日之间的 10 天宣布撤销,继 10 月 4 日之后为 10 月 15 日。后来人们将这一新的历法称为“格里高利历”,也就是今天世界上所通用的历法,简称格里历或公历。

日期计算

标签:int   撤销   除法   span   str   class   htm   open   历史   

原文地址:http://www.cnblogs.com/JOJOKwei/p/6642294.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!