您的位置:首页 > 移动开发 > Android开发

日历算法Android

2015-09-09 14:58 435 查看
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;

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: