写日历的一些总结(三)

点击切换前一个月  只能切换到当前月份的前三个月  例如(今天是2017年3月,点击左边按钮只能切换到2016年12月左按钮不能再点击,点击右边按钮只能切换到当前月份的前一个月右按钮不能再点击)具体js代码同二中日期代码

点击切换上一周  只能切换到当前月份前三个月的第一周 例如(今天是2017年3月24日,点击左边按钮只能切换到2016年11月28日—2016年12月4日,右边按钮切换到当前日期的前一周)

具体代码如下:

define(function(require){
var $ = require("zepto");
var today = new Date();
var nowMonth = today.getMonth();
var nowDay = today.getDate();
var return_arr =[];
var month_a;
var month_b;
var value;
var i = 0;
// 获取当前年月日
function getNowDate() {
return {
year: today.getFullYear(),
month: today.getMonth()+1,
day: today.getDay()
}
}
var date = getNowDate();

if(date.day==0){
date.day=7;
}
console.log(date.day);
// 获取最近的周日和周一
var latelySunday;
var latelyMonday;
function latelyWeek(){
latelySunday = new Date(today.getTime()-date.day*24*3600*1000);
latelyMonday =new Date(latelySunday.getTime()-6*24*3600*1000);
weekDate(latelyMonday,latelySunday);
return return_arr.push({
key: str,
value: str
})
}
function weekDate(mon,sun){
var year_aa = mon.getFullYear(),
year_bb = sun.getFullYear(),
year_a =year_aa.toString().substr(2,2),
year_b =year_bb.toString().substr(2,2),
month_a = mon.getMonth()+1,
month_b =sun.getMonth()+1,
day_a =mon.getDate(),
day_b =sun.getDate();
str = year_a+"."+month_a+"."+day_a+"-" +year_b+"."+month_b+"."+day_b;
return str;
}
latelyWeek();
console.log(latelySunday);
function getDate(i){
var sunday = new Date(latelySunday.getTime()-i*7*24*3600*1000);
var monday =new Date(latelyMonday.getTime()-i*7*24*3600*1000);
weekDate(monday,sunday);
return_arr.push({
key: str,
value: str
});
return {
return_arr,
month_a:month_a,
month_b:month_b
}
};
// 获取每个月有多少天
function getCountDays(months) {
today.setMonth(months + 1);
today.setDate(0);
/* 返回当月的天数 */
return today.getDate();
}
// 获取可显示日期的总天数
var dayCount = getCountDays(nowMonth-1)+getCountDays(nowMonth-2)+getCountDays(nowMonth-3)+nowDay;
console.log(dayCount);
if(date.day==7){
dayCount=dayCount-7;
}else{
dayCount =dayCount;
}
console.log(dayCount);
var weekCount = dayCount/7;
(function AllWeek(){
for(var i=1;i<weekCount;i++){
getDate(i);
}
return return_arr;
})();

console.log(return_arr);
})

原文地址:https://www.cnblogs.com/sunnychen/p/6625598.html