//dateTools.js
define([],function(){
var getNowDate=function(){
var nowDate = new Date();
var y = nowDate.getFullYear();//年
var m = nowDate.getMonth();//月
var d = nowDate.getDate();//日
return {
nowDate:nowDate,
year:y,
month:m,
day:d
};
}
var getBeforeDate=function(num,unit){
var nowDate=getNowDate();
var beforeDate=new Date(nowDate.year,nowDate.month-1,nowDate.day);
if(unit=="y"){
beforeDate=new Date(nowDate.year-num,nowDate.month,nowDate.day);
}
else if(unit=="m"){
beforeDate=new Date(nowDate.year,nowDate.month-num,nowDate.day);
}
else if(unit=="d"){
beforeDate=new Date(nowDate.year,nowDate.month,nowDate.day-num);
}
return beforeDate;
};
var getSelDate=function(num,unit){
var nowDate=getNowDate();
var beforeDate=new Date(nowDate.year,nowDate.month-1,nowDate.day);
if(unit=="y"){
beforeDate=new Date(nowDate.year-num,nowDate.month,nowDate.day)
beforeDate=beforeDate.getFullYear() + '-' + (beforeDate.getMonth() + 1) + '-' + beforeDate.getDate();
}
else if(unit=="m"){
beforeDate=new Date(nowDate.year,nowDate.month-num,nowDate.day);
beforeDate=beforeDate.getFullYear() + '-' + (beforeDate.getMonth() + 1) + '-' + beforeDate.getDate();
}
else if(unit=="d"){
beforeDate=new Date(nowDate.year,nowDate.month,nowDate.day-num);
beforeDate=beforeDate.getFullYear() + '-' + (beforeDate.getMonth() + 1) + '-' + beforeDate.getDate();
}
return beforeDate;
};
//当前日期
var getCurDate=function(){
var today=new Date();
var year=today.getFullYear(); //获取完整年份(4位)
var month=today.getMonth(); //获取当前月份(0-11)
month=month+1;
if(month<10)month = "0"+month;
var day=today.getDate(); //获取当前日(1-31)
if(day<10)day = "0"+day;
var nowDate=year.toString() + '-' + month.toString() + '-' + day.toString();
return nowDate;
};
//获取当年第一天
var getFirstDayOfYear=function(date){
date.setDate(1);
date.setMonth(0);
return timeFormat(date);
};
//获取当年最后一天
var getLastDayOfYear=function(date){
var year = date.getFullYear(); //年
var day = new Date(year,12,0);
return timeFormat(day);
};
//获取当季第一天
var getFirstDayOfSeason=function(date){
var month = date.getMonth();
if(month <3 ){
date.setMonth(0);
}else if(2 < month && month < 6){
date.setMonth(3);
}else if(5 < month && month < 9){
date.setMonth(6);
}else if(8 < month && month < 11){
date.setMonth(9);
}
date.setDate(1);
return timeFormat(date);
};
//获取当季最后一天
var getLastDayOfSeason=function(date){
var month = date.getMonth();
if(month <3 ){
date.setMonth(0);
}else if(2 < month && month < 6){
date.setMonth(3);
}else if(5 < month && month < 9){
date.setMonth(6);
}else if(8 < month && month < 11){
date.setMonth(9);
}
var year = date.getFullYear(); //年
var month = date.getMonth(); //月
var day = new Date(year,month + 3,0);
return timeFormat(day);
};
//获取当月第一天
var getFirstDayOfMonth=function(date){
date.setDate(1);
return timeFormat(date);
};
//获取当月最后一天
var getLastDayOfMonth=function(date){
var year = date.getFullYear(); //年
var month = date.getMonth() + 1; //月
var day = new Date(year,month,0);
return timeFormat(day);
};
//获取本周的周一
var getFirstDayOfWeek=function(date){
var weekday = date.getDay()||7; //获取星期几,getDay()返回值是 0(周日) 到 6(周六) 之间的一个整数。0||7为7,即weekday的值为1-7
date.setDate(date.getDate()-weekday+1);//往前算(weekday-1)天,年份、月份会自动变化
return timeFormat(date);
}
//获取本周的周末
var getLastDayOfWeek=function(date){
var weekday = date.getDay()||7; //获取星期几,getDay()返回值是 0(周日) 到 6(周六) 之间的一个整数。0||7为7,即weekday的值为1-7
date.setDate(date.getDate()-weekday+7);//往前算(weekday-1)天,年份、月份会自动变化
return timeFormat(date);
};
var timeFormat=function(date){
var year = date.getFullYear(); //年
var month = date.getMonth() + 1; //月
var day = date.getDate(); //日
if(month < 10){
month = "0" + month;
}
if(day < 10){
day = "0" + day;
}
return year + "-" + month + "-" + day;
};
return{
getNowDate:getNowDate,
getBeforeDate:getBeforeDate,
getSelDate:getSelDate,
getCurDate:getCurDate,
getFirstDayOfYear:getFirstDayOfYear,
getLastDayOfYear:getLastDayOfYear,
getFirstDayOfSeason:getFirstDayOfSeason,
getLastDayOfSeason:getLastDayOfSeason,
getFirstDayOfMonth:getFirstDayOfMonth,
getLastDayOfMonth:getLastDayOfMonth,
getFirstDayOfWeek:getFirstDayOfWeek,
getLastDayOfWeek:getLastDayOfWeek,
timeFormat:timeFormat
};
});
05-06
1843
08-07
1105
08-07
417
05-19
1918