date-week
Version:
周日历,实现 上一周 , 下一周
55 lines (51 loc) • 1.81 kB
JavaScript
var currentFirstDate;
function formatDate (date){
var year = date.getFullYear();
var month = (date.getMonth());
var day = date.getDate();
var h = date.getHours();
var m = date.getMinutes();
var s = date.getSeconds();
return {
year:year,
month:month,
day:day,
h:h,
s:s,
m:m};
}
function addDate( date , n ){
date.setDate( date.getDate()+n );
return date;
}
function setDate( date ){
var week = date.getDay()-1;
date = addDate(date,week*-1);
currentFirstDate = new Date( date );
var startTime , endTime ;
var dateList=[] ;
for(var i = 0;i<7;i++){
dateList.push( formatDate( i==0 ? date : addDate(date,1)) );
}
startTime = dateList[0];
startTime = new Date( startTime.year , startTime.month , startTime.day , startTime.h , startTime.m , startTime.s );
endTime = dateList[ dateList.length-1 ];
endTime = new Date( endTime.year , endTime.month , endTime.day , endTime.h , endTime.m , endTime.s );
var endMonth = parseInt( endTime.getMonth() ) +1;
endMonth = endMonth <10 ? "0"+endMonth : endMonth;
var startMonth = parseInt( startTime.getMonth() ) +1;
startMonth = startMonth <10 ? "0"+startMonth : startMonth;
return {
endTime:endTime,
startTime:startTime,
// startStr:`${startTime.getFullYear()}-${startTime.getMonth()+1}-${startTime.getDate()}`,
startStr:startTime.getFullYear()+"-"+startMonth+"-"+startTime.getDate(),
// endStr:`${endTime.getFullYear()}-${endTime.getMonth()+1}-${endTime.getDate()}`
endStr:endTime.getFullYear()+"-"+endMonth+"-"+endTime.getDate()
}
}
export {
setDate,
addDate,
currentFirstDate
}