Date.prototype.getWeek=function(){
varfirstDayOfYear=newDate(this.getFullYear(),0,1);
varmillOfDay=24*60*60*1000;
returnMath.ceil((((this-firstDayOfYear)/millOfDay)+firstDayOfYear.getDay()+1)/7);
};
/*
01October2013-10:20:20
01November2013-10:20:20
01December2013-10:20:20
08October2013-01:55pm
*/
varmonthMapping={
"January":"01",
"February":"02",
"March":"03",
"April":"04",
"May":"05",
"June":"06",
"July":"07",
"August":"08",
"September":"09",
"October":"10",
"November":"11",
"December":"12"
};
functionformatAmPm(){
vardateTimeStr=arguments[0];
vardateStr=dateTimeStr.split("-");
if(lang.currentLang=="zh_CN"||lang.currentLang=="zh_TW"){
vars_year=lang.getMessage('yearCn');
vars_month=lang.getMessage('monthCn');
vars_day=lang.getMessage('dayCn');
vardateArray=dateStr[0].split("");
vars_time=dateStr[1].split("")[1]=="am"?lang.getMessage('amCn'):lang.getMessage('pmCn');
varret=dateArray[2]+s_year+monthMapping[dateArray[1]]+s_month+dateArray[0]+s_day+""+s_time+dateStr[1].split("")[0];
if(arguments.length>1){
/*adminfeature,sousingendate*/
ret=arguments[1]?dateStr[0]:dateStr[1];
}
returnret;
}
else{
if(arguments.length>1){
returnarguments[1]?dateStr[0]:dateStr[1];
}
else{
returndateStr[0]+""+dateStr[1];
}
}
}
functionformatDate(dateTime,pattern){
if(pattern==""||pattern==null){
pattern="/";
}
vardate=newDate(dateTime);
varyear=date.getFullYear();
varmonth=date.getMonth()+1;
month=month<10?'0'+month:month;
varday=date.getDate();
day=day<10?'0'+day:day;
returnmonth+pattern+day+pattern+year;
}
functionformatDateDDMMYYYY(dateTime){
varymd=dateTime.split("")[0];
vardateArray=ymd.split("-");
returndateArray[2]+"."+dateArray[1]+"."+dateArray[0];
}
/**
*
*@paramdateTimeYYYY-MM-DDhh:mm:ss
*/
functionformatDateDDMMYY(dateTime){
varymd=dateTime.split("")[0];
vardateArray=ymd.split("-");
returndateArray[2]+"."+dateArray[1]+"."+dateArray[0].substring(2);
}
/**********************calculatedate*****************************/
varMONTH=[
{key:"Jan.",value:1},
{key:"Feb.",value:2},
{key:"Mar.",value:3},
{key:"Apr.",value:4},
{key:"May.",value:5},
{key:"Jun.",value:6},
{key:"Jul.",value:7},
{key:"Aug.",value:8},
{key:"Sept.",value:9},
{key:"Oct.",value:10},
{key:"Nov.",value:11},
{key:"Dec.",value:12}
];
varDAYS=[31,28,31,30,31,30,31,31,30,31,30,31];
functiongetYears(){
varyears=[];
vardate=newDate();
varyear=date.getFullYear();
varminYear=year-10;
for(varcurrentYear=minYear;currentYear<=year;currentYear++){
years.push(currentYear);
}
returnyears;
};
functionfillinMonthOptions(id,currentMonth){
$("#"+id).get(0).options.length=0;
for(vari=0;i<MONTH.length;i++){
if(MONTH[i].value==currentMonth){
$("#"+id).append("<optionvalue="+MONTH[i].value+"selected=\"selected\">"+MONTH[i].key+"</option>");
}
else{
$("#"+id).append("<optionvalue="+MONTH[i].value+">"+MONTH[i].key+"</option>");
}
}
};
functionfillinAllMonthOptions(monthIds,currentMonth){
//varmonthIds=["loginMonth_1","loginMonth_2","auditMonth_1","auditMonth_2"];
for(vari=0;i<monthIds.length;i++){
fillinMonthOptions(monthIds[i],currentMonth);
};
};
functionfillinYearOptions(id,years,currentYear){
$("#"+id).get(0).options.length=0;
for(vari=0;i<years.length;i++){
if(years[i]==currentYear){
$("#"+id).append("<optionvalue="+years[i]+"selected=\"selected\">"+years[i]+"</option>");
}
else{
$("#"+id).append("<optionvalue="+years[i]+">"+years[i]+"</option>");
}
}
};
functionfillinAllYearOptions(yearIds,currentYear){
//varyearIds=["loginYear","auditYear"];
years=getYears();
for(vari=0;i<yearIds.length;i++){
fillinYearOptions(yearIds[i],years,currentYear);
}
};
functionisLeapYear(year){
return(year%4===0)&&(year%100!==0)||(year%400===0);
}
/*getdaysofamonth*/
functiongetMonthDays(year,month){
varmonthDays=DAYS[month-1];
if(isLeapYear(year)&&month==2){
monthDays=29;
}
returnmonthDays;
}
functionfillinDay(id,monthDays){
$("#"+id).get(0).options.length=0;
for(vari=1;i<=monthDays;i++){
$("#"+id).append("<optionvalue="+i+">"+i+"</option>");
}
}
functionfiilinDays(year,month,dayIds){
varmonthDays=getMonthDays(year,month);
for(vari=0;i<dayIds.length;i++){
fillinDay(dayIds[i],monthDays);
}
}
functiongetWeeksOfYear(year){
varfirstDayOfYear=newDate(year,0,1);
vardays=firstDayOfYear.getDay()+(isLeapYear(year)?366:365);
returnMath.ceil(days/7);
}
functiongetCurrentWeekNo(){
varcurrentDate=newDate();
varfirstDay=newDate(currentDate.getFullYear(),0,1);
vardayms=24*60*60*1000;
varnumday=((currentDate-firstDay)/dayms);
varweeks=Math.ceil((numday+firstDay.getDay()+1)/7);
returnweeks;
}
functiongetWeekRangeOfWeek(year,weekNo){
vartmpDate=newDate("1/20/"+year);
varnumOfDaysPastSinceLastMonday=tmpDate.getDay()-1;
tmpDate.setDate(tmpDate.getDate()-numOfDaysPastSinceLastMonday);
varweekNoToday=tmpDate.getWeek();
varweeksInFuture=weekNo-weekNoToday;
tmpDate.setDate(tmpDate.getDate()+(7*weeksInFuture));
varrangeFrom=tmpDate.getDate()+"/"+MONTH[tmpDate.getMonth()].key;
tmpDate.setDate(tmpDate.getDate()+6);
varrangeTo=tmpDate.getDate()+"/"+MONTH[tmpDate.getMonth()].key;
returnweekNo+"_#_"+rangeFrom+"_#_"+rangeTo;
}
functionfillinWeek(weekId,year){
$("#"+weekId).get(0).options.length=0;
varweeksOfYear=getWeeksOfYear(year);
varweeks=[];
for(vari=0;i<weeksOfYear;i++){
weeks.push(getWeekRangeOfWeek(year,i+1));
}
for(varj=0;j<weeks.length;j++){
varweek=weeks[j].split("_#_");
$("#"+weekId).append("<optionvalue="+week[0]+">"+week[0]+"("+week[1]+"-"+week[2]+")</option>");
}
}
functionfillinWeeks(year,weekIds){
for(vari=0;i<weekIds.length;i++){
fillinWeek(weekIds[i],year);
}
}
|