zoukankan      html  css  js  c++  java
  • JS-获取时间的方法:当天,近3天,本周,本月,上月,今年,明年

      /**
       * 获取最近3天日期
       * @param {*} day 
       */
      getDay: function (day) {
        var that = this;
        var today = new Date();
        var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day;
        today.setTime(targetday_milliseconds); //注意,这行是关键代码
        var tYear = today.getFullYear();
        var tMonth = today.getMonth();
        var tDate = today.getDate();
        tMonth = that.doHandleMonth(tMonth + 1);
        tDate = that.doHandleMonth(tDate);
        return tYear + "-" + tMonth + "-" + tDate;
      },
      doHandleMonth: function (month) {
        var m = month;
        if (month.toString().length == 1) {
          m = "0" + month;
        }
        return m;
      },

    getDay(dates)  //dates为数字类型,0代表今日,-1代表昨日,1代表明日,返回yyyy-mm-dd格式字符串,dates不传默认代表今日。


    /** * 获取本周起止日期 */ getMonday: function (type, dates) { var now = new Date(); var nowTime = now.getTime(); var day = now.getDay(); var longTime = 24 * 60 * 60 * 1000; var n = longTime * 7 * (dates || 0); if (type == "s") { var dd = nowTime - (day - 1) * longTime + n; }; if (type == "e") { var dd = nowTime + (7 - day) * longTime + n; }; dd = new Date(dd); var y = dd.getFullYear(); var m = dd.getMonth() + 1; var d = dd.getDate(); m = m < 10 ? "0" + m : m; d = d < 10 ? "0" + d : d; var day = y + "-" + m + "-" + d; return day; },
    getMonday(type,dates)  //type为字符串类型,有两种选择,"s"代表开始,"e"代表结束,dates为数字类型,不传或0代表本周,-1代表上周,1代表下周
    getMonday("s",1)  //得到下周一的yyyy-mm-dd格式日期
    getMonday("e",1)  //得到下周日的yyyy-mm-dd格式日期

    /** * 获取上月,本月 */ getMonth: function (type, months) { var d = new Date(); var year = d.getFullYear(); var month = d.getMonth() + 1; if (Math.abs(months) > 12) { months = months % 12; }; if (months != 0) { if (month + months > 12) { year++; month = (month + months) % 12; } else if (month + months < 1) { year--; month = 12 + month + months; } else { month = month + months; }; }; month = month < 10 ? "0" + month : month; var date = d.getDate(); var firstday = year + "-" + month + "-" + "01"; var lastday = ""; if (month == "01" || month == "03" || month == "05" || month == "07" || month == "08" || month == "10" || month == "12") { lastday = year + "-" + month + "-" + 31; } else if (month == "02") { if ((year % 4 == 0 && year % 100 != 0) || (year % 100 == 0 && year % 400 == 0)) { lastday = year + "-" + month + "-" + 29; } else { lastday = year + "-" + month + "-" + 28; }; } else { lastday = year + "-" + month + "-" + 30; }; var day = ""; if (type == "s") { day = firstday; } else { day = lastday; }; return day; },
    getMonth(type,months)  //type为字符串类型,有两种选择,"s"代表开始,"e"代表结束,months为数字类型,不传或0代表本月,-1代表上月,1代表下月
    getMonth("s",1)  //得到下月第一天的yyyy-mm-dd格式日期
    getMonth("e",1)  //得到下月最后一天的yyyy-mm-dd格式日期



    /**
    * 今年,明年,前年
    **/
    function getYear(type, dates) {
        var dd = new Date();
        var n = dates || 0;
        var year = dd.getFullYear() + Number(n);
        if (type == "s") {
            var day = year + "-01-01";
        };
        if (type == "e") {
            var day = year + "-12-31";
        };
        if (!type) {
            var day = year + "-01-01/" + year + "-12-31";
        };
        return day;
    };
     
    getYear(type,dates)  //type为字符串类型,有两种选择,"s"代表开始,"e"代表结束,dates为数字类型,不传或0代表今年,-1代表去年,1代表明年
    getYear("s",1)  //得到明年第一天的yyyy-mm-dd格式日期
    getYear("e",1)  //得到明年最后一天的yyyy-mm-dd格式日期
     

      

    调用的方法:

    近3天:getDay(-3)

    当天:getDay(0)

    本周:开始时间:getMonday("s", 0)     结束时间:getMonday("e", 0)

    上月:开始时间:getMonth("s", -1)    结束时间:getMonth("e", -1)

    本月:开始时间:getMonth("s", 0)   结束时间:getMonth("e", 0)

  • 相关阅读:
    jmeter(46) redis
    jmeter(45) tcp/ip协议
    Codeforces Round #538 (Div. 2)D(区间DP,思维)
    Codeforces Global Round 1D(DP,思维)
    Educational Codeforces Round 57D(DP,思维)
    UPC11073(DP,思维)
    Yahoo Progamming Contest 2019D(DP,思维)
    Atcoder Beginner Contest 118D(DP,完全背包,贪心)
    Xuzhou Winter Camp 1C(模拟)
    Educational Codeforces Round 57 (Rated for Div. 2)D(动态规划)
  • 原文地址:https://www.cnblogs.com/liuqingxia/p/15438904.html
Copyright © 2011-2022 走看看