zoukankan      html  css  js  c++  java
  • 写日历的一些总结(三)

    点击切换前一个月  只能切换到当前月份的前三个月  例如(今天是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);
    })

  • 相关阅读:
    【H5】ie8如何兼容html5标签(hack)
    mysql数据库:分表、多表关联、外键约束、级联操作
    mysql数据库:mysql初识
    mysql数据库:数据类型、存储引擎、约束、
    并发编程:协程TCP、非阻塞IO、多路复用、
    并发编程:同步异步、队列、协程与实现方式
    并发编程: GIL锁、GIL与互斥锁区别、进程池与线程池的区别
    并发编程:生产消费模型、死锁与Rlock、线程、守护线程、信号量、锁
    并发编程:守护进程、互斥锁、案例、进程间通讯
    并发编程:进程、多道、进程执行顺序与常用属性
  • 原文地址:https://www.cnblogs.com/sunnychen/p/6625598.html
Copyright © 2011-2022 走看看