使用JAVA做一个1800年到2100年带有农历节气的万年历

2020-05-27 科技 90阅读

你可以用一份用于C语言的数据得到,Java和C语言有相似处,数据也是可以通用的。

我这里有一个数据提取工具,可以提取范围从公元1600年到公元6400年之间的四千八百年之间的任意年份区间的数据,非常好用,算法也有源代码。

//农历月份信息。一年用3个字节表示
//+-------------------------------------------------------------------------+
//| 第23位 |        第22-17位       |  第16-13位 |         第12-0位         |
//|--------+------------------------+------------+--------------------------|
//|  保留  | 农历正月初一的年内序数 |    闰月    | 一个比特对应一个月份大小 |
//+-------------------------------------------------------------------------+
//月份大小数据是月份小的在低位,月份大的在高位,即正月在最低位。
//以1900年为例,3个字节的数据展开成二进制位:
//  0       011110        1000                     1 0 1 1 0 1 1 0 1 0 0 1 0
//保留  1月31日(春节)  闰八月   从左往右依次十二月,十一月……闰八月、八月、七月……正月的天数
//农历月份对应的位为0,表示这个月为29天(小月),为1表示有30天(大月)。
0x58,0x0B,0xA5,0x42,0x0B,0x49,0x2C,0x5A,0x93,0x52,0x0A,0x95,0x3D,0x35,0x2D, //1600-1604
 0x60,0x05,0x56,0x4A,0x0A,0xB5,0x36,0xD5,0xAA,0x5C,0x05,0xD2,0x44,0x0D,0xA5, //1605-1609
 0x30,0x7D,0x4A,0x56,0x0D,0x4A,0x41,0x6A,0x95,0x62,0x0A,0x97,0x4E,0x05,0x56, //1610-1614
 0x39,0x0A,0xB5,0x5E,0x0A,0xD9,0x48,0x06,0xD2,0x32,0x8E,0xA5,0x58,0x0F,0x25, //1615-1619
 0x44,0x06,0x4A,0x2A,0x4C,0x97,0x50,0x0A,0xAB,0x3D,0x55,0x5A,0x62,0x05,0x6A, //1620-1624
 0x4A,0x0B,0x69,0x36,0xD7,0x52,0x5C,0x07,0x92,0x46,0x0B,0x25,0x2E,0x96,0x4B, //1625-1629
 ……

你用用看吧,应该能用的。

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com