日历算法Android

function isLeapYear (year) {
return year % 4 == 0 && year % 100 != 0 || year % 400 == 
0;
}
function getDaysByYearAndMonth (year, month) {
var days;
switch (month) {
case 2:
days = isLeapYear (year) ? 29 : 28;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
default:
days = 31;
break;
}
return days;
}
function getYearDifference (date) {
var year = date.getFullYear ();
return year - beginYear;
}
function getMonthDifference (date) {
var month = date.getMonth () + 1;
return month - 1;
}
function getDayDifference (date) {
var day = date.getDate ();
return day;
}
function getDayDistance (date) {
var yearDifference = getYearDifference (date), 
monthDifference = getMonthDifference (date), 
dayDifference = getDayDifference (date), dayDistance 
= 0, month, year;
switch (yearDifference) {
case 0:
switch (monthDifference) {
case 0:
dayDistance = dayDifference;
break;
default:
for (month = 1; month <= date.getMonth 
(); month ++) {
dayDistance += getDaysByYearAndMonth 
(date.getFullYear (), month);
}
dayDistance += dayDifference;
break;
}
break;
default:
for (year = beginYear; year < date.getFullYear 
(); year ++) {
dayDistance += isLeapYear (year) ? 366 : 365;
}
for (month = 1; month <= date.getMonth (); 
month ++) {
dayDistance += getDaysByYearAndMonth 
(date.getFullYear (), month);
}
dayDistance += dayDifference;
break;
}
return dayDistance;
}
function getInitialWeekdayByDay (date) {
var dayDistance = getDayDistance (date), weekday = 
dayDistance - date.getDate () + premierWeekday;
return weekday % 7;

}


奋斗

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值