如何判别闰年?

转载 2004年08月12日 11:11:00

闰年的来历
 
关于公历闰年是这样规定的:地球绕太阳公转一周叫做一回归年,一回归年长365日5时48分46秒。因此,公历规定有平年和闰年,平年一年有365日,比回归年短0.2422日,四年共短0.9688日,故每四年增加一日,这一年有366日,就是闰年。但四年增加一日比四个回归年又多0.0312日,400年后将多3.12日,故在400年中少设3个闰年,也就是在400年中只设97个闰年,这样公历年的平均长度与回归年就相近似了。由此规定:年份是整百数的必须是400的倍数才是闰年,例如1900年、2100年就不是闰年。

中国旧历农历纪年中,有闰月的一年称为闰年。一般年份为12个月,354或355天,闰年则为13个月,383或384天。农历作为阴阳历的一种,每月的天数依照月亏而定,一年的时间以12个月为基准;为了合上地球围绕太阳运行周期即回归年,每隔2到4年,增加一个月,增加的这个月为闰月,因此农历的闰年为13个月。
    农历没有第十三月的称谓,闰月按照历法规则,排放在从二月到十月的过后重复同一个月,重复的这个月为闰月,如四月过后的闰月称为闰四月。
    农历闰年闰月的推算,3年一闰,5年二闰,19年七闰;农历基本上19年为一周期对应于公历同一时间。如公历的2001年5月27日、1982年5月27日和1963年5月27日这个日子,都是闰四月初五。
    


  •     
  • 闰月加到哪个月,以农历历法规则推断,主要依照与农历的二十四节气相符合来确定;
        
  • 农历的闰月天数与正常月份天数一样,为29或30天。
        
  • 农历所谓“闰”的说法,只有闰年和闰月称谓,公历也有闰年的称谓。
        


    公历1982年至2042年与农历闰年闰月对照表
    公历所在月份 闰月(初一日) 干支年
    1982年5月23日 闰四月小 壬戊年
    1984年11月23日 闰十月大 甲子年
    1987年7月26日 闰六月大 丁卯年
    1990年6月23日 闰五月大 庚午年
    1993年4月22日 闰三月大 癸酉年
    1995年9月25日 闰八月大 乙亥年
    1998年6月24日 闰五月小 戊寅年
    2001年5月23日 闰四月大 辛巳年
    2004年3月21日 闰二月大 甲申年
    2006年8月24日 闰七月大 丙戊年
    2009年6月23日 闰五月大 己丑年
    2012年5月21日 闰四月小 壬辰年
    2014年10月24日 闰九月小 甲午年
    2017年7月23日 闰六月大 丁酉年
    2020年5月23日 闰四月小 庚子年
    2023年3月22日 闰二月大 癸卯年
    2025年7月25日 闰六月大 己巳年
    2028年6月23日 闰五月大 戊申年
    2031年4月22日 闰三月大 辛亥年
    2033年8月25日 闰七月大 癸丑年
    2036年7月23日 闰六月小 丙辰年
    2039年6月22日 闰五月大 己未年
    2042年3月22日 闰二月大 壬戊年

下面是用Java实现的判断闰年的算法:

//LeapYear.java

public class LeapYear{
 public static void main( String args[] ){
  int year=2052; //method 1
  
  if( (year%4==0 && year%100!=0) || (year%400==0) )
   System.out.println(year+" is a leap year.");
  else
   System.out.println(year+" is not a leap year.");
  
  year=2052; //method 2
  boolean leap;
  if( year%4!=0 )
   leap=false;
  else if( year%100!=0 )
   leap=true;
  else if( year%400!=0 )
   leap=false;
  else
   leap=true;
   
  if( leap==true )
   System.out.println(year+" is a leap year.");
  else
   System.out.println(year+" is not a leap year.");
   
  year=2052; //method3
  if( year%4==0){
   if( year%100==0 ){
    if( year%400==0)
     leap=true;
    else
     leap=false;
   }else
    leap=true;
  }else
   leap=false;
  
  if( leap==true )
   System.out.println(year+" is a leap year.");
  else
   System.out.println(year+" is not a leap year.");
 }
}

键盘录入任意一个年份,判断该年是闰年还是平年

键盘录入任意一个年份,判断该年是闰年还是平年 import java.util.Calendar; import java.util.Scanner; public class k { /** ...
  • uotail
  • uotail
  • 2017年05月07日 22:58
  • 789

判断某一年是闰年还是平年

第一次发表博客心里蛮激动的,虽然这样一个小小的程序花了一个小时,但是感觉还是很值得,希望自己能够一直坚持下去...
  • qq_28124713
  • qq_28124713
  • 2016年01月05日 22:05
  • 1172

Java 判断闰年代码实例

import java.util.Scanner; /* 5.1判断闰年(时间:20分钟) 5.1.1 作业任务 (1) 由用户输入任意一个年份,能被4整除但不能被100整除,或者能被400整除,...
  • aikongmeng
  • aikongmeng
  • 2013年05月21日 18:25
  • 10697

C# 输入一个年份判断是不是闰年

问题及代码: ///* //* Copyright (c) 2014, 烟台大学计算机学院 //* All rights reserved. //* 文件名称:test.cpp //* 作 ...
  • songjian19960721
  • songjian19960721
  • 2016年03月12日 16:50
  • 4522

用c++编写闰年的判断基础程序

其实c++语言与c语言有太多共同的东西,学习过c语言再学习c++语言就显得轻而易举。当然学过了c++再去学习c语言也是有一些帮助的(但是个人不提倡先学习c++在学c语言)。由于现在经常看见有关闰年的程...
  • SchopenhauerZhang
  • SchopenhauerZhang
  • 2016年04月02日 20:20
  • 7066

php判断闰年的三种方法(闰年计算方法)

1,php闰年计算方法一: ①、普通年能被4整除而不能被100整除的为闰年。(如2004年就是闰年,1900年不是闰年)  ②、世纪年能被400整除而不能被3200整除的为闰年。(如2000年是闰...
  • helin916012530
  • helin916012530
  • 2015年01月12日 15:42
  • 8151

【C语言】输出1000年到2000年之间的闰年

题目要求 编写C语言程序.实现输出1000年——2000年之间的闰年. 算法分析 我们要想用C语言程序输出1000年——2000年之间的闰年,我们只需判断某个年份是否闰年,然后循环1000次就可以了....
  • qq_31828515
  • qq_31828515
  • 2016年07月24日 14:07
  • 2999

用c语言解决闰年问题的详细解释

在用c语言解决问题时我们可能会面临很多的问题,但是没关系,在这里,问您的入门提供帮助,我们一起畅游c----这个世界最强大的语言,也是最复杂的语言!基础从这里开始,梦想在这里启航。...
  • SchopenhauerZhang
  • SchopenhauerZhang
  • 2016年04月02日 19:56
  • 2762

Oracle判断是否闰年

判断一年是否是闰年,我们小学就知道了:能被4除尽的就是闰年,除不尽的就是平年。 今天教主说,判断一年是否为闰年,看二月的月末是哪一天就可以了,28就是平年,29就是闰年,我去真是人才。 好吧,我想...
  • tanglang000
  • tanglang000
  • 2015年03月02日 15:14
  • 1014

JS日期操作(日期转换、判断闰年、格式化等)

var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????...
  • u012725119
  • u012725119
  • 2014年08月27日 10:56
  • 919
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何判别闰年?
举报原因:
原因补充:

(最多只允许输入30个字)