c语言程序设计答案万年历备忘录,基于JavaScript(网页脚本语言)编写的万年历(含源文件)...

var i, sum = 348

for(i=0x8000; i>0x8; i>>=1) sum += (lunarInfo[y-1900] & i)? 1: 0

return(sum+leapDays(y))

}

//====================================== 传回农历y年闰月的天数

function leapDays(y) {

if(leapMonth(y)) return((lunarInfo[y-1900] & 0x10000)? 30: 29)

else return(0)

}

//====================================== 传回农历y年闰哪个月1-12 , 没闰传回0

function leapMonth(y) {

return(lunarInfo[y-1900] & 0xf)

}

//====================================== 传回农历y年m月的总天数

function monthDays(y,m) {

return( (lunarInfo[y-1900] & (0x10000>>m))? 30: 29 )

}

//====================================== 算出农历, 传入日期物件, 传回农历日期物件

// 该物件属性有.year .month .day .isLeap .yearCyl .dayCyl .monCyl

function Lunar(objDate) {

var i, leap=0, temp=0

var baseDate = new Date(1900,0,31)

var offset = (objDate - baseDate)/86400000

this.dayCyl = offset + 40

this.monCyl = 14

for(i=1900; i<2050 && offset>0; i++) {

temp = lYearDays(i)

offset -= temp

this.monCyl += 12

}

if(offset<0) {

offset += temp;

i--;

this.monCyl -= 12

}

this.year = i

this.yearCyl = i-1864

leap = leapMonth(i) //闰哪个月

this.isLeap = false

for(i=1; i<13 && offset>0; i++) {

//闰月

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值