闰年的定义

什么年是闰年?你首先想到的可能是能被4整除的年就是闰年。实际上这是不正确的,公历里闰年的定义是这种:能被400整除的,或者不能被100整除而能被4整除的年就是闰年,换一句话说,非世纪年份中能被4整除的,和世纪年份中能被400整除的是闰年。依照这个定义,公元2000年是闰年,而公元1900年是平年。
      可是假设再问你,公元100年是不是闰年?这个是世纪年份,而不能被400整除,所以这个年份是平年,假设你这样想,那你就错了。
     我们如今用的公历,是格里高里历,是公元1582年以后通行的,之前记录日期用的是儒略历,和如今用的公历不同,儒略历中闰年的定义非常easy的,能被4整除的是闰年,不能被4整除的是平年。所以,公元100年还处于儒略历时期,所以历史上该年份是闰年。
      所以闰年的完整定义是:公元1582年前,能被4整除的年份;公元1582年后,世纪年中能被400整除的,和非世纪年中能被4整除的年份。
      总的来说,闰年的定义是比較复杂,远不是一般人以为的那么简单。这不仅是一个数学问题,还是一个历史问题。

闰年的定义

时间: 2024-10-08 15:59:08

闰年的定义的相关文章

有关测试输入是否是闰年的问题及程序

输入 输入一段字符(正确为数字有可能出现其他字母,符号等非法字符) 输出 提示所输入是否为闰年,如果输入不是数字则提示输入不合法. 闰年的定义 能被4整除但不能被100整除,或者能被400整除的. 测试用例 编号 输入 预计输出 1 400 是 2 1000 否 3 10/*0 非法 测试截图: 代码: import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.Event

有闰年判断的日期正则表达式

进入正题之前,我们需要澄清两个概念: 一,什么是合法的日期范围?对于不同的应用场景,这个问题有不同的解释.这里采纳MSDN中的约定: DateTime 值类型表示值范围在公元(基督纪元)0001 年 1 月 1 日午夜 12:00:00 到公元 (C.E.) 9999 年 12 月 31 日晚上 11:59:59 之间的日期和时间. 二,关于闰年的阐释.人民教育出版社小学数学室的解释浅明易懂(mediawiki等都没说明为什么整百年份必须是400的倍数时才是闰年): 关于公历闰年是这样规定的:地

POJ 2964:日历问题 日期转换+闰年月份可放在一个month[2][12]数组里

2964:日历问题 查看 提交 统计 提示 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 在我们现在使用的日历中, 闰年被定义为能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它们不是闰年.例如:1700, 1800, 1900 和 2100 不是闰年,而 1600, 2000 和 2400是闰年. 给定从公元2000年1月1日开始逝去的天数,你的任务是给出这一天是哪年哪月哪日星期几. 输入 输入包含若干行,每行包含一个正整数,表示从2000年1月1日开始

日历问题

/*在我们现在使用的日历中, 闰年被定义为能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它们不是闰年.例如:1700, 1800, 1900 和 2100 不是闰年,而 1600, 2000 和 2400是闰年.给定公元2000年1月1日后的某年某月某日(包括2000年1月1日),你的任务:(1)给出这一天从公元2000年1月1日开始逝去的天数,(2)判断这一天是当年的第几天.*/#include<stdio.h>int judgeyear(int a);int main(

最强日期正则表达式

一.简单的日期判断(YYYY/MM/DD): ^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$ 二.演化的日期判断(YYYY/MM/DD| YY/MM/DD): ^(^(\d{4}|\d{2})(\-|\/|\.)\d{1,2}\3\d{1,2}$)|(^\d{4}年\d{1,2}月\d{1,2}日$)$ 三.加入闰年的判断的: 实例: ^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|((

计算两日期间2月29日总数的Java程序

事先声明,本人仅仅是个计算机领域的新手,不久前开始学习Java.后来我接到了一份关于计算两日期间2月29日总数的编程作业,仓促之中我便写下了这个程序.由于之前可以说毫无编程经验,Java也仅仅是只学了一小部分.所以目前该程序尚未解决输入问题. 我解决这个问题的思路是: 编写一个方法(leapYear)用于判断某一年份是否为闰年: 编写另一个方法(dateExist)用于判断某一时期是否真实存在,在这方法中会引用到上个方法: 最后编写main方法,引用方法(dateExist)分别判断起始日期和终

【前端】日期正则表达式(转发)

原文地址 : 正则应用之--日期正则表达式    http://blog.csdn.net/akkzhjj/article/details/16867303 1        概述 首先需要说明的一点,无论是Winform,还是Webform,都有很成熟的日历控件,无论从易用性还是可扩展性上看,日期的选择和校验还是用日历控件来实现比较好. 前几天在CSDN多个版块看到需要日期正则的帖子,所以整理了这篇文章,和大家一起讨论交流,如有遗漏或错误的地方,还请大家指正. 日期正则一般是对格式有要求,且数

利用select实现年月日三级联动的日期选择效果

× 目录 [1]演示 [2]规划 [3]结构生成[4]算法处理 前面的话 关于select控件,可能年月日三级联动的日期选择效果是最常见的应用了.本文是选择框脚本的实践,下面将对日期选择效果进行详细介绍 演示 规划 默认情况下,年.月.日分别由3个select控件组成,id分别为sel1,sel2,sel3.它们且所包含的option[0]的值,分别为'年'.'月'.'日' 年份范围为1900-2100,月份范围为1-12,天的范围为1-31 年份范围.月份范围是不变的.而天的范围根据实际日期的

日历问题(c++实现)

描述:在我们现在使用的日历中, 闰年被定义为能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它们不是闰年.例如:1700, 1800, 1900 和 2100 不是闰年,而 1600, 2000 和 2400是闰年. 给定从公元2000年1月1日开始逝去的天数,你的任务是给出这一天是哪年哪月哪日星期几. 输入:输入包含若干行,每行包含一个正整数,表示从2000年1月1日开始逝去的天数.输入最后一行是−1, 不必处理.可以假设结果的年份不会超过9999. 输出:对每个测试样例,输