zoukankan      html  css  js  c++  java
  • js如何获取前几个月或后几个月时间

     /**
         *获取几个月前的输入日期
         *{param:DateTime} date 输入日期(YYYY-MM-DD)
         *{param:number } monthNum 月数
         */
         function GetPreMonthDay(date, monthNum) {
             var dateArr = date.split('-');
             var year = dateArr[0]; //获取当前日期的年份
             var month = dateArr[1]; //获取当前日期的月份
             var day = dateArr[2]; //获取当前日期的日
             var days = new Date(year, month, 0);
             days = days.getDate(); //获取当前日期中月的天数
             var year2 = year;
             var month2 = parseInt(month) - monthNum;
             if (month2 <= 0) {
                 var absM = Math.abs(month2);
                 year2 = parseInt(year2) - Math.ceil(absM / 12 == 0 ? 1 : parseInt(absM) / 12);
                 month2 = 12 - (absM % 12);
             }
             var day2 = day;
             var days2 = new Date(year2, month2, 0);
             days2 = days2.getDate();
             if (day2 > days2) {
                 day2 = days2;
             }
             if (month2 < 10) {
                 month2 = '0' + month2;
             }
             var t2 = year2 + '-' + month2 + '-' + day2;
             return t2;
         }
    
         /**
         *获取下一个月的输入日期
         *{param:DateTime} date 输入日期(YYYY-MM-DD)
         *{param:number } monthNum 月数
         */
         function GetNextMonthDay(date, monthNum) {
             var dateArr = date.split('-');
             var year = dateArr[0]; //获取当前日期的年份
             var month = dateArr[1]; //获取当前日期的月份
             var day = dateArr[2]; //获取当前日期的日
             var days = new Date(year, month, 0);
             days = days.getDate(); //获取当前日期中的月的天数
             var year2 = year;
             var month2 = parseInt(month) + parseInt(monthNum);
             if (month2 > 12) {
                 year2 = parseInt(year2) + parseInt((parseInt(month2) / 12 == 0 ? 1 : parseInt(month2) / 12));
                 month2 = parseInt(month2) % 12;
             }
             var day2 = day;
             var days2 = new Date(year2, month2, 0);
             days2 = days2.getDate();
             if (day2 > days2) {
                 day2 = days2;
             }
             if (month2 < 10) {
                 month2 = '0' + month2;
             }
    
             var t2 = year2 + '-' + month2 + '-' + day2;
             return t2;
         }
  • 相关阅读:
    Redis 数据结构之dict
    分布式一致性算法——paxos
    分布式事务、两阶段提交协议、三阶提交协议
    MySQL主从数据同步延时分析
    MySQL数据丢失情况分析
    INSERT ... ON DUPLICATE KEY UPDATE Syntax
    分布式系统的数据一致性
    分布式系统的BASE理论
    分布式系统的CAP理论
    性能指标体系构建
  • 原文地址:https://www.cnblogs.com/pfcan66/p/8298297.html
Copyright © 2011-2022 走看看