📄 calendar.js
字号:
obj.style.backgroundColor = "gray";
}
}
}
/**
* get the date selected coloring for full year
*@param year is the current year ;
*@param month is the selected month ;
*@param day is the selected day;
*@author guojiahong
*/
function isSelected4testY(year, month, day) {
//alert("year"+year+"month:"+month+"day:"+day);
var dates = getDatas4testY();
for (var i = 1; i < dates.length; i++) {
if (year == dates[i][0]) {
var obj = document.getElementById(dates[i][1] + "-" + dates[i][2]);
obj.style.backgroundColor = "gray";
}
}
}
/**
* get the selected result
* @author:guojiahong
* @author:2007.11.21
*/
function getDatas() {
var set = new Array();
var results = new Array();
var str = document.addunregdateclass.test.value;
results = str.split(";");
var dates = new Array();
for (var i = 0; i < results.length; i++) {
dates[i] = new Array();
temp = results[i].split("-");
dates[i][0] = parseInt(temp[0]);
dates[i][1] = parseInt(temp[1]);
/*
*the selection is the bug of the js for parseInt
*parseInt("08")=0;
*parseInt("09")=0;
*/
temp[1] == "08" ? dates[i][1] = 8 : (temp[1] == "09" ? dates[i][1] = 9 : dates[i][1] = parseInt(temp[1]));
temp[2] == "08" ? dates[i][2] = 8 : (temp[2] == "09" ? dates[i][2] = 9 : dates[i][2] = parseInt(temp[2]));
}
var temp = "";
for (var i = 1; i < dates.length; i++) {
temp = temp + "Year:" + dates[i][0];
temp = temp + "Month:" + dates[i][1];
temp = temp + "Day:" + dates[i][2];
}
//alert(temp);
return dates;
}
/**
* get the dates for full year
*@param year is the current year ;
*@param month is the selected month ;
*@param day is the selected day;
*@author guojiahong
*/
function getDatas4testY() {
var set = new Array();
var results = new Array();
var str = document.addunregdateclass.testY.value;
results = str.split(";");
var dates = new Array();
for (var i = 1; i < results.length; i++) {
dates[i] = new Array();
temp = results[i].split("-");
dates[i][0] = parseInt(temp[0]);
/*
*the selection is the bug of the js for parseInt
*parseInt("08")=0;
*parseInt("09")=0;
*/
temp[1] == "08" ? dates[i][1] = 8 : (temp[1] == "09" ? dates[i][1] = 9 : dates[i][1] = parseInt(temp[1]));
temp[2] == "08" ? dates[i][2] = 8 : (temp[2] == "09" ? dates[i][2] = 9 : dates[i][2] = parseInt(temp[2]));
}
var temp = "";
for (var i = 1; i < dates.length; i++) {
temp = temp + "Year:" + dates[i][0];
temp = temp + "Month:" + dates[i][1];
temp = temp + "Day:" + dates[i][2];
}
return dates;
}
/**
* slelect dates by week given;
*@param year is the current year ;
*@param month is the selected month ;
*@ datenum is the leap year and normal year month datenumber
*@param week is the week is given (0-6);
*@author houwenlong
*/
function selectByWeek(year, month, week) {
var results = new Array();
var date = new Date();
date.setFullYear(year);
date.setMonth(month - 1);
date.setDate(1);
var firstDay = date.getDay(); //0-6
var temp = firstDay;
var off = 0;
var daynum= 0;
while (true) {
if (temp == week) {
break;
}
temp = ((temp + 1) % 7);
off++;
}
var i = 0;
temp = 1 + off;
if ((year % 4) == 0) {
if ((year % 100) == 0 && (year % 400) != 0) {
daynum=Calendar.DOMonth[month - 1];
}
daynum=Calendar.lDOMonth[month - 1];
} else {
daynum=Calendar.DOMonth[month - 1];
}
while (temp < daynum+1) {
results[i] = new Array();
date.setDate(temp);
results[i][0] = date.getFullYear();
results[i][1] = date.getMonth() + 1;
results[i][2] = date.getDate();
i++;
temp = temp + 7;
}
return results;
}
/*月周判断,way 为每月,第一个 最后一个 判断
*ver为第一个,最后一个判断
* houwenlong
*/
function getDatesmonthweekday(way1,week,year) {
if(way1==0)
{getDatesByWeek4FullYear(year,week);}
else if(way1==1)
{var ver=1;
getDatesBymonthweek4FullYear(year,week,ver);}
else if(way1==2)
{var ver=2;
getDatesBymonthweek4FullYear(year,week,ver);}
}
/*月周判断,以年为单位进行月周日期的添加
*ver为第一个,最后一个判断
* houwenlong
*/
function getDatesBymonthweek4FullYear(year, week,ver) {
for (var i = 0; i < 12; i++) {
getDatesByWeek1(year, i + 1, week,ver);
}
}
function delDatesmonthweekday(way1,week,year) {
if(way1==0)
{delDatesByWeek4FullYear(year,week);}
else if(way1==1)
{var ver=1;
delDatesBymonthweek4FullYear(year,week,ver);}
else if(way1==2)
{var ver=2;
delDatesBymonthweek4FullYear(year,week,ver);}
}
/*以年为单位删除月周设置日期
*ver 为第一个和最后一个的判断
*houwenlong
*/
//function delDatesBymonthweek4FullYear(year, week,ver) {
// for (var i = 0; i < 12; i++) {
// delDatesByWeek1(year, i + 1, week,ver);
// }
//}
/*以月为单位删除月周设置日期
*ver 为第一个和最后一个的判断
*houwenlong
*/
function delDatesBymonthweek4FullYear(year,week,ver) {
for (var i = 0; i < 12; i++) {
delselectByWeek1(year, i + 1, week,ver);}
}
/**
* 以年为单位删除所选的星期几
*@see getDatesByWeek(year,month,week)
*@param year is the current year ;
*@param week is the selected week;
*@author houwenlong
*/
function delDatesByWeek4FullYear(year, week) {
for (var i = 0; i < 12; i++) {
delselectByWeek(year, i + 1, week);
}
}
function delselectByWeek1(year, month, week,ver) {
var date = new Date();
date.setFullYear(year);
date.setMonth(month - 1);
var delmon=0;
var delday=0;
var delyear=0;
var daynum=0;
if ((year % 4) == 0) {
if ((year % 100) == 0 && (year % 400) != 0) {
daynum=Calendar.DOMonth[month - 1];
}
daynum=Calendar.lDOMonth[month - 1];
} else {
daynum=Calendar.DOMonth[month - 1];
}
if(ver==1)
{
date.setDate(1);
var firstDay = date.getDay(); //0-6
var temp = firstDay;
var off = 0;
while (true) {
if (temp == week) {
break;
}
temp = ((temp + 1) % 7);
off++;
}
temp = 1 + off;
date.setDate(temp);
delyear = date.getFullYear();
delmon = date.getMonth() + 1;
delday = date.getDate();
var id = delmon + "-" + delday;
document.getElementById(id).style.backgroundColor = "pink";
deleteDate(delyear,delmon,delday);
}
else if (ver==2)
{date.setDate(daynum);
var firstDay = date.getDay(); //0-6
var temp = firstDay;
var off = 0;
while (true) {
if (temp == week) {
break;
}
temp = ((temp +1) % 7);
off++;}
if(firstDay==week)
{off=7;}
temp = daynum -7+off;
date.setDate(temp);
delyear = date.getFullYear();
delmon = date.getMonth() + 1;
delday = date.getDate();
var id = delmon + "-" + delday;
document.getElementById(id).style.backgroundColor = "pink";
deleteDate(delyear,delmon,delday);
}
}
/*以周为单位进行删除所选星期几的操作
* delmon 为存放删除的月的变量
* delday为存放删除的日的变量
* delyear 为存放的删除的年的变量
*@ houwenlong*/
function delselectByWeek(year, month, week) {
var date = new Date();
date.setFullYear(year);
date.setMonth(month - 1);
date.setDate(1);
var firstDay = date.getDay(); //0-6
var temp = firstDay;
var off = 0;
var daynum= 0;
var delmon=0;
var delday=0;
var delyear=0;
while (true) {
if (temp == week) {
break;
}
temp = ((temp + 1) % 7);
off++;
}
var i = 0;
temp = 1 + off;
if ((year % 4) == 0) {
if ((year % 100) == 0 && (year % 400) != 0) {
daynum=Calendar.DOMonth[month - 1];
}
daynum=Calendar.lDOMonth[month - 1];
} else {
daynum=Calendar.DOMonth[month - 1];
}
while (temp < daynum+1) {
date.setDate(temp);
delyear = date.getFullYear();
delmon = date.getMonth() + 1;
delday = date.getDate();
var id = delmon + "-" + delday;
document.getElementById(id).style.backgroundColor = "pink";
deleteDate(delyear,delmon,delday);
temp = temp + 7;
}
}
function getDatesByWeek1(year, month, week,ver) {
//alert("year:"+year+"month:"+month+"week:"+week);
var test = document.addunregdateclass.testY;
var dates = selectByWeek1(year, month, week,ver);
for (var i = 0; i < dates.length; i++) {
var id = dates[i][1] + "-" + dates[i][2];
if (!isOver(year, month, dates[i][2])) {
//alert("over!");
//return;
var obj = document.getElementById(id);
obj.style.backgroundColor = "gray";
var str = dates[i][0] + "-" + dates[i][1] + "-" + dates[i][2];
if (!isDuply(str)) {
test.value = test.value + ";" + str;
}}
}
}
/*以周为单位选择月周组合的日期
*ver 判断是每月第一个还是每月最后一个
*year month week 为传入的年月日
*@ houwenlong*/
function selectByWeek1(year, month, week,ver) {
var results = new Array();
var date = new Date();
date.setFullYear(year);
date.setMonth(month - 1);
var daynum=0;
if ((year % 4) == 0) {
if ((year % 100) == 0 && (year % 400) != 0) {
daynum=Calendar.DOMonth[month - 1];
}
daynum=Calendar.lDOMonth[month - 1];
} else {
daynum=Calendar.DOMonth[month - 1];
}
if(ver==1)
{
date.setDate(1);
var firstDay = date.getDay(); //0-6
var temp = firstDay;
var off = 0;
while (true) {
if (temp == week) {
break;
}
temp = ((temp + 1) % 7);
off++;
}
temp = 1 + off;
var i=0;
results[i] = new Array();
date.setDate(temp);
results[i][0] = date.getFullYear();
results[i][1] = date.getMonth() + 1;
results[i][2] = date.getDate();
return results;
}
else if (ver==2)
{date.setDate(daynum);
var firstDay = date.getDay(); //0-6
var temp = firstDay;
var off = 0;
while (true) {
if (temp == week) {
break;
}
temp = ((temp +1) % 7);
off++;}
if(firstDay==week)
{off=7;}
temp = daynum -7+off;
date.setDate(temp);
var i = 0;
results[i] = new Array();
results[i][0] = date.getFullYear();
results[i][1] = date.getMonth() + 1;
results[i][2] = date.getDate();
return results;
}}
/**
* select dates for the full year by week
*@see getDatesByWeek(year,month,week)
*@param year is the current year ;
*@param week is the selected week;
*@author guojiahong
*/
function getDatesByWeek4FullYear(year, week) {
for (var i = 0; i < 12; i++) {
getDatesByWeek(year, i + 1, week);
}
}
/**
* get the date selected coloring
*@param year is the current year ;
*@param month is the selected month ;
*@param week is the selected week;
*@author guojiahong
*/
function getDatesByWeek(year, month, week) {
//alert("year:"+year+"month:"+month+"week:"+week);
var test = document.addunregdateclass.testY;
var dates = selectByWeek(year, month, week);
for (var i = 0; i < dates.length; i++) {
var id = dates[i][1] + "-" + dates[i][2];
if (!isOver(year, month, dates[i][2])) {
//alert("over!");
//re
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -