JS写了一个农历以天干地支的类。
类:lunarDate 右健另存为
方法:
方法:
lunarDate(d:Date) 构造函数
参数:d:Date为日期对象,可选。默认是当前时间。
toLunarDate(d:Date):Object 方法
说明:将传入日转化成农历日期。
参数:d:Date为日期对象,为空时,取lunarDate创建时的日期。
返回:Object对象 {”y”:lunarYear,”m”:lunarMonth,”d”:lunarDay,”leap”:leap,”isleep”:_isLeap,”toString”:function()}
说明:将传入日转化成农历日期。
参数:d:Date为日期对象,为空时,取lunarDate创建时的日期。
返回:Object对象 {”y”:lunarYear,”m”:lunarMonth,”d”:lunarDay,”leap”:leap,”isleep”:_isLeap,”toString”:function()}
y:Number 农历年。
m:Number 农历月。
d:Number 农历日期。
leap:Number 当前日期所有年闰几月。
isLeap:Boolea 当前月是否是闰月。
toString:function() 返回中文字符串表达。
m:Number 农历月。
d:Number 农历日期。
leap:Number 当前日期所有年闰几月。
isLeap:Boolea 当前月是否是闰月。
toString:function() 返回中文字符串表达。
toSolar(y:Number,m:Number,d:Number):Date 方法
说明:将农历日期转化成公历日期。
参数:
y:Number 公历年。
m:Number 公历月。
d:Number 公历日。
返回:Date,返回一个Date对象。
ganzhi(d:Date):Object 方法
说明:将传入日期对象转化成干支表达对象。
参数:d:Date为日期对象,为空时,取lunarDate创建时的日期。
返回:Object对象。 {”y”:y,”m”:m,”d”:d,”h”:h,”jie”:jieqi,”animal”:animal,”toString”:funtion(t)};
说明:将传入日期对象转化成干支表达对象。
参数:d:Date为日期对象,为空时,取lunarDate创建时的日期。
返回:Object对象。 {”y”:y,”m”:m,”d”:d,”h”:h,”jie”:jieqi,”animal”:animal,”toString”:funtion(t)};
y:Number 干支纪年。0-59
m:Number 干支纪月。0-59
d:Number 干支纪日。0-59
h:Number 干支纪时。0-59
jie:String 如果当是节气,则返当前节气,否则为空。
animal:String 当前年的生肖。
toString:function(t) 返回中文字符串表达。
m:Number 干支纪月。0-59
d:Number 干支纪日。0-59
h:Number 干支纪时。0-59
jie:String 如果当是节气,则返当前节气,否则为空。
animal:String 当前年的生肖。
toString:function(t) 返回中文字符串表达。
关于农历一些概念:
1.农历不是阴历,而是阴阳合历。
2.农历有大小月之分,大月30天,小月29天。根据朔望月定初一,大小月交替。
3.农历有闰月之说,也就是一年有13个月。一般可以理解为19年有7个闰月,或是有种说法:三年两头闰。
天干地支纪年:
1.始于汉代
2.年以立春作为分界线。与农历相关不大。
3.在个人生辰中初为年柱。
天干地支纪月:
1.现有两种方式,一种以农历月为准,别一种是以二十四节气为准。
2.多种算命先生,生辰八字中称为月柱。
3.参考干支纪月,以农历月为准的不太靠谱。
天干地支纪日:
1.第一天是什么时候已不可考了。
2.干支是六十一轮回。确定每一天为参考即可按日期直接换算。
3.中国的时辰是23:00开始,所以要以23:00为界线。
4.在生辰八字称为日柱
天干地支纪时:
1.干支纪时按可根据干支日的直接换算。日和时的对应关系和年跟月的对应关系是一致的。
生辰八字:
1.将你出生日期和时间转化成天干地支表达方式就是生辰八字。