日历描写的是地球上观星的规律
公历(阳历:太阳历)、农历(阴历:月亮历)互转
1.1900-2100农历的润大小信息表
农历一年有多少天?
农历是根据月亮圆缺
变化来划分月份的,一个月大约为29.53天。
农历一年通常
是354天或355天,12个月,比公历年短
约11天。
但为了调整与太阳年
的差异,有时
会出现一个闰年
,会插入一个闰月
。
这一年有384天或385天,使得那一年有13个月。
1-4: 表示当年有无闰年,有的话,为闰月的月份,没有的话,为0。 5-16:为除了闰月外的正常月份是大月还是小月,1为30天,0为29天。
注意:从1月到12月对应的是第5位到第16位。 17-20:表示闰月是大月还是小月,仅当存在闰月的情况下有意义。
表示1980年没有闰月,从1月到12月的天数依次为:30、29、29、30、29、30、29、30、30、29、30、30。
返回农历y年一整年的总天数
/**
* 返回农历y年一整年的总天数
* @param lunar Year
* @return Number
* @eg:var count = calendar.lYearDays(1987) ;//count=387
*/
lYearDays: function (y) {
var i,
sum = 348
for (i = 0x8000; i > 0x8; i >>= 1) {
sum += this.lunarInfo[y - 1900] & i ? 1 : 0
}
return sum + this.leapDays(y)
},
农历1900-2100的润大小信息表
/**
* 农历1900-2100的润大小信息表
* @Array Of Property
* @return Hex
*/
lunarInfo: [
0x04bd8,
0x04ae0,
0x0a570,
0x054d5,
0x0d260,
0x0d950,
0x16554,
0x056a0,
0x09ad0,
0x055d2, //1900-1909
0x04ae0,
0x0a5b6,
0x0a4d0,
0x0d250,
0x1d255,
0x0b540,
0x0d6a0,
0x0ada2,
0x095b0,
0x14977, //1910-1919
0x04970,
0x0a4b0,
0x0b4b5,
0x06a50,
0x06d40,
0x1ab54,
0x02b60,
0x09570,
0x052f2,
0x04970, //1920-1929
0x06566,
0x0d4a0,
0x0ea50,
0x16a95,
0x05ad0,
0x02b60,
0x186e3,
0x092e0,
0x1c8d7,
0x0c950, //1930-1939
0x0d4a0,
0x1d8a6,
0x0b550,
0x056a0,
0x1a5b4,
0x025d0,
0x092d0,
0x0d2b2,
0x0a950,
0x0b557, //1940-1949
0x06ca0,
0x0b550,
0x15355,
0x04da0,
0x0a5b0,
0x14573,
0x052b0,
0x0a9a8,
0x0e950,
0x06aa0, //1950-1959
0x0aea6,
0x0ab50,
0x04b60,
0x0aae4,
0x0a570,
0x05260,
0x0f263,
0x0d950,
0x05b57,
0x056a0, //1960-1969
0x096d0,
0x04dd5,
0x04ad0,
0x0a4d0,
0x0d4d4,
0x0d250,
0x0d558,
0x0b540,
0x0b6a0,
0x195a6, //1970-1979
0x095b0,
0x049b0,
0x0a974,
0x0a4b0,
0x0b27a,
0x06a50,
0x06d40,
0x0af46,
0x0ab60,
0x09570, //1980-1989
0x04af5,
0x04970,
0x064b0,
0x074a3,
0x0ea50,
0x06b58,
0x05ac0,
0x0ab60,
0x096d5,
0x092e0, //1990-1999
0x0c960,
0x0d954,
0x0d4a0,
0x0da50,
0x07552,
0x056a0,
0x0abb7,
0x025d0,
0x092d0,
0x0cab5, //2000-2009
0x0a950,
0x0b4a0,
0x0baa4,
0x0ad50,
0x055d9,
0x04ba0,
0x0a5b0,
0x15176,
0x052b0,
0x0a930, //2010-2019
0x07954,
0x06aa0,
0x0ad50,
0x05b52,
0x04b60,
0x0a6e6,
0x0a4e0,
0x0d260,
0x0ea65,
0x0d530, //2020-2029
0x05aa0,
0x076a3,
0x096d0,
0x04afb,
0x04ad0,
0x0a4d0,
0x1d0b6,
0x0d250,
0x0d520,
0x0dd45, //2030-2039
0x0b5a0,
0x056d0,
0x055b2,
0x049b0,
0x0a577,
0x0a4b0,
0x0aa50,
0x1b255,
0x06d20,
0x0ada0, //2040-2049
0x14b63,
0x09370,
0x049f8,
0x04970,
0x064b0,
0x168a6,
0x0ea50,
0x06b20,
0x1a6c4,
0x0aae0, //2050-2059
0x092e0,
0x0d2e3,
0x0c960,
0x0d557,
0x0d4a0,
0x0da50,
0x05d55,
0x056a0,
0x0a6d0,
0x055d4, //2060-2069
0x052d0,
0x0a9b8,
0x0a950,
0x0b4a0,
0x0b6a6,
0x0ad50,
0x055a0,
0x0aba4,
0x0a5b0,
0x052b0, //2070-2079
0x0b273,
0x06930,
0x07337,
0x06aa0,
0x0ad50,
0x14b55,
0x04b60,
0x0a570,
0x054e4,
0x0d160, //2080-2089
0x0e968,
0x0d520,
0x0daa0,
0x16aa6,
0x056d0,
0x04ae0,
0x0a9d4,
0x0a2d0,
0x0d150,
0x0f252, //2090-2099
0x0d520 //2100
]
2.1900-2100各年的24节气日期速查表
/**
* 24节气速查表
* @Array Of Property
* @trans["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"]
* @return Cn string
*/
solarTerm: [
'\u5c0f\u5bd2',
'\u5927\u5bd2',
'\u7acb\u6625',
'\u96e8\u6c34',
'\u60ca\u86f0',
'\u6625\u5206',
'\u6e05\u660e',
'\u8c37\u96e8',
'\u7acb\u590f',
'\u5c0f\u6ee1',
'\u8292\u79cd',
'\u590f\u81f3',
'\u5c0f\u6691',
'\u5927\u6691',
'\u7acb\u79cb',
'\u5904\u6691',
'\u767d\u9732',
'\u79cb\u5206',
'\u5bd2\u9732',
'\u971c\u964d',
'\u7acb\u51ac',
'\u5c0f\u96ea',
'\u5927\u96ea',
'\u51ac\u81f3'
]
3.公历每个月份的天数普通表
每月天数:[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
4.天干地支生肖速查表
天干:["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"]
地支:["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"]
生肖:["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"]
5.阳历节日
[[01-01,"元旦"],[02-14,"情人节"],[03-08,"妇女节"],[03-12,"植树节"],[04-01,"愚人节"],[05-01,"劳动节"],[05-04,"青年节"],[05-12,"护士节"],[06-01,"儿童节"],[07-01,"建党节"],[08-01,"建军节"],[09-10,"教师节"],[10-01,"国庆节"],[12-24,"平安夜"],[12-25,"圣诞节"],[12-25,"圣诞节"]]
6.农历节日
[["01-01","春节"],[01-15,"元宵节"],[05-05,"端午节"],[07-07,"情人节"],[07-15,"中元节"],[08-15,"中秋节"],[09-09,"重阳节"],[12-08,"腊八节"],[12-24,"北方小年"],[12-25,"南方小年"]]
7.二十四节气
["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"]
8.数字转中文速查表
['日','一','二','三','四','五','六','七','八','九','十']
9.日期转农历称呼速查表
['初','十','廿','卅']
10.月份转农历称呼速查表
['正','一','二','三','四','五','六','七','八','九','十','冬','腊']
11.返回农历y年一整年的总天数
12.返回农历y年闰月是哪月,若y年没有闰月,则返回0(0-12)
13.返回农历y年闰月的天数,若y年没有闰月,则返回0(0、29、30)
14.返回农历y年m月(非闰月)的总天数,计算m为闰月时的天数请使用leapDays方法(-1、29、30)
15.返回公历(!)y年m月的天数(-1、28、29、30、31)
16.农历年份转换为干支纪年
17.公历月、日判断所属星座
18.传入offset偏移量返回干支
19.传入公历(!)y年获得该年第n个节气的公历日期
y公历年(1900-2100);n二十四节气中的第几个节气(1~24);从n=1(小寒)算起