`

关于万年历年份的解释

    博客分类:
  • Java
 
阅读更多

文字来源:http://www.xishuiw.com/info/2010-7/2010-7-13-25075.htm

在   http://www.hao114.com/tools/wannianli.htm  的源代码中,有从1900--2049的阴历月份的数据:

 

/*****************************************************************************
                                   日期资料
*****************************************************************************/

var lunarInfo=new Array(
0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2,
0x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,0x0d6a0,0x0ada2,0x095b0,0x14977,
0x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,0x052f2,0x04970,
0x06566,0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,0x186e3,0x092e0,0x1c8d7,0x0c950,
0x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,0x0a950,0x0b557,

略。。。。

正确的解释是:

二进制形式 xxxx xxxx xxxx xxxx xxxx
20-17 16-12 12-9 8-5 4-1


1-4: 表示当年有无闰年,有的话,为闰月的月份,没有的话,为0。

5-16:为除了闰月外的正常月份是大月还是小月,1为30天,0为29天。

            注意:从1月到12月对应的是第16位到第5位。

17-20: 表示闰月是大月还是小月,仅当存在闰月的情况下有意义。

举个例子:

1980年的数据是: 0x095b0

二进制:0000    1001 0101 1011 0000

 表示1980年没有闰月,从1月到12月的天数依次为:30、29、29、30、29、30、29、30、30、29、30、30。

1982年的数据是:0x0a974

0000 1010 1010 0111 0100

表示1982年的4月为闰月,即有第二个4月,且是闰小月。

从1月到13月的天数依次为:30、29、30、29、29(闰月)、30、29、30、29、29、30、30、30。


分享到:
评论

相关推荐

    万年历 输入年份,输出当年日历

    从给定的代码片段来看,这是一段C语言编写的万年历程序,其主要功能是根据用户输入的年份,输出该年的日历。下面将详细解析此代码中的核心知识点,包括算法逻辑、日期计算原理以及代码实现细节。 ### 1. 万年历算法...

    万年历,输入年份月份,输出当月日历

    在编程领域,创建一个“万年历”程序是一项常见的任务,它可以接受用户输入的年份和月份,并打印出相应的日历。在这个特定的案例中,我们关注的是使用Java语言实现这个功能。以下是对该程序涉及的主要知识点的详细...

    VHDL多功能数字万年历

    本资源是一个使用VHDL语言设计的多功能数字万年历,具有计时和年份显示功能。下面是对该资源的详细解释和知识点总结: 标题:VHDL多功能数字万年历 描述:用VHDL写的多功能数字万年历,计时及年份 标签:VHDL ...

    一个关于万年历问题的c语言程序

    是用C语言编写的万年历程序,适用于c语言初学者

    基于FPGA的万年历实验

    【基于FPGA的万年历实验】是一种利用可编程逻辑器件——Field Programmable Gate Array(FPGA)实现的数字系统设计。在这个实验中,我们将会深入理解如何使用硬件描述语言Verilog来构建一个能显示日期和时间的万年历...

    简单实用的万年历

    万年历是一款非常实用的工具,它可以帮助用户查看任意年份和月份的日历,包括公历和农历日期,以及相关的节气、节日等信息。在信息化时代,万年历不仅局限于传统的纸质形式,而是发展成了各种软件应用,适用于电脑、...

    VC 万年历 超强万年历

    3. **节假日查询**:集成全球主要国家和地区的公共假期,用户可以方便地查询任何年份的节假日信息,有助于规划个人或团队的工作和生活。 4. **农历转换**:考虑到中国用户的需求,VC 万年历很可能支持农历与公历的...

    vs2008写的 万年历

    在IT领域,一个“万年历”程序是能够显示任何年份日历的软件。在本例中,我们讨论的是一个使用Microsoft Visual Studio 2008(简称VS2008)开发的C语言版本的万年历。VS2008是一个集成开发环境(IDE),支持C++、C#...

    wangnianli_fpga万年历_FPGA实验万年历_FPGA万年历引脚_

    1. **日期计算逻辑**:万年历的核心在于正确计算日期,这需要了解公历的规则,包括普通年份和闰年的区别,每个月的天数以及闰月的处理。例如,每4年有一个闰年,但世纪年(如2100年)如果不是400的倍数则不是闰年。 ...

    万年历程序

    【万年历程序】是一种计算机程序,用于显示公历日期,并可以追溯到过去或预测未来的很多年,甚至千年,因此被称为“万年历”。在给定的上下文中,这个程序是用C语言编写的,C语言是一种通用的、高级的编程语言,以其...

    Java简单的万年历

    为了生成一个完整的万年历,你需要遍历从1900年至今的所有年份、月份和日期。这通常通过嵌套循环实现:外层循环控制年份,内层循环控制月份,再内层循环显示每个月的日期。在循环过程中,你可以使用`LocalDate`的`...

    C++编写的万年历源码

    摘要:VC/C++源码,系统相关,万年历  C++编写的万年历模块源码下载,万年历.cpp : Defines the entry point for the console application.  显示1900年以后任何年份的日历,日历以月份顺序排列,每月以星期顺序排列...

    万年历1_基于VHDL的万年历设计_VHDL万年历_journeysuw_万年历vhdl_

    【万年历1_基于VHDL的万年历设计_VHDL万年历_journeysuw_万年历vhdl_】这个项目是关于利用VHDL语言设计一款能够显示时分秒、日月年信息的万年历。VHDL(Very High Speed Integrated Circuit Hardware Description ...

    万年历 万年历 万年历

    3. **闰年判断**:编程实现时,需要知道闰年的规则:能被4整除但不能被100整除的年份,或者能被400整除的年份是闰年。这个规则会影响到2月的天数。 4. **节气计算**:中国农历有24个节气,需要了解节气的计算方法并...

    两款好用的万年历 万年历

    算法复杂,涉及闰年规则(每4年一闰,但世纪年不是闰年,除非能被400整除)以保持年份与地球公转周期的同步。 4. **农历转换**:万年历还包括农历的计算,需要了解阴历的月相变化和农历年的闰月规则。农历与阳历...

    Calendar万年历

    【标签解析】:标签“Calendar”、“万年历”、“日历”进一步强调了这个项目是关于创建或修改一个多功能的日历应用,它可能涉及到日期计算、节假日显示、事件管理等多个方面。"万年历"通常需要处理闰年规则、不同...

    js 万年历js 万年历

    JavaScript是一种轻量级的解释型编程语言,主要应用于客户端的网页开发,负责处理网页的动态效果和交互性。它与HTML和CSS一起构成了网页开发的三大核心技术。JavaScript可以改变HTML元素的样式、内容,甚至可以通过...

    VC 万年历 C++超强万年历 记事本

    在这个软件中,开发者可能自定义了数据结构来存储日期信息,并编写算法来计算任意年份的日期,确保准确无误。 其次,记事本功能是该软件的另一大亮点。用户可以随时记录日常生活中的重要事件或待办事项,这些记事...

    万年历 C++代码实现

    用户可以选择输入年份查看当年的万年历,输入年月查看当月的万年历,或输入年月日查询星期。所有输入的验证都在类的方法中完成,确保了数据的正确性。 代码中的`switch`语句用于在打印月份日历时调整输出的对齐方式...

    原生js万年历农历日期代码.zip

    在实现万年历功能时,需要对Date对象进行深入理解和操作,包括获取当前日期、月份和年份,以及计算日期之间的转换。 2. **农历转换算法**:JavaScript本身并不支持农历日期的直接处理,因此需要实现农历与公历之间...

Global site tag (gtag.js) - Google Analytics