我这里有,农历数据经过自己设计,详细的方式如下细述(下载地址见最后):
//农历月份信息。一年用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天(大月)。
//二十四节气信息。一年用6个字节表示,每个节气使用两比特数据。
//+-------------------------------------------------------+
//| 第一字节最高两位 | 第一字节其余6位至第六字节共46个位 |
//|------------------+------------------------------------|
//|小寒的年内序数减3 | 每个节气距离上一节气的天数,共23组 |
//+-------------------------------------------------------+
//小寒的年内序数已给出,剩下的23个节气分别对应这23组数据,有以下含义:
//+-------------------------------------------------------+
//| 二进制位 | 意义 | 描述 |
//|-----------+------+------------------------------------|
//| 00 | 14天 | 当前对应的节气距离上一节气为14天 |
//|-----------+------+------------------------------------|
//| 01 | 15天 | 当前对应的节气距离上一节气为15天 |
//|-----------+------+------------------------------------|
//| 10 | 16天 | 当前对应的节气距离上一节气为16天 |
//|-----------+------+------------------------------------|
//| 11 | 17天 | 当前对应的节气距离上一节气为17天 |
//+-------------------------------------------------------+
//由上表可以看出,除小寒以外的其余23个节气的两比特数据加上14就是距离上一节气的天数。
//节气顺序:
//小寒 大寒 立春 雨水 惊蛰 春分 清明 谷雨 立夏 小满 芒种 夏至
//小暑 大暑 立秋 处暑 白露 秋分 寒露 霜降 立冬 小雪 大雪 冬至
//每年数九、入梅、出梅及三伏信息,一年用两个字节表示。
//+---------------------------------------------------+
//| 第15-11位 | 第10-6位 | 第5-1位 | 最末位 |
//|------------+------------+------------+------------|
//| 入梅 | 出梅 | 初伏 | 末伏 |
//+---------------------------------------------------+
//1.“一九”即是冬至,往后到“九九”的每个“九”相差9天,可顺利推算出来,故“数九”信息省略。
//2.“三伏”天的“中伏”在“初伏”后10天,而“末伏”在“中伏”后10天或20天,因此“中伏”信息省略。
//入梅信息:该天数加上150为入梅这一日的年内序数。
//出梅信息:该天数加上180为出梅这一日的年内序数。
//初伏信息:该天数加上180为初伏这一日的年内序数。
//末伏信息:若该位为“1”,表示末伏距离初伏30天,为“0”表示末伏距离初伏20天。
以上压缩方案是最新的,也是经过我多年总结并设计的,支持的年份范围可以从公元1600年到公元6399年之间的任意区段,并配以提取器,能自动生成以上压缩方式的数据,同时,C语言和C++的项目源代码也包含在以下链接的资源中,可以自行修改。
希望能对你有帮助。
链接:http://pan.baidu.com/s/1qY9ysBM 密码:zu7m