JS 如何获取当前上一个月下一个月和月份所含天数

Posted 集君

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 如何获取当前上一个月下一个月和月份所含天数相关的知识,希望对你有一定的参考价值。

在数据报表查询中,经常需要设置查询的日期区间,如查询2018-02-01至2018-02-28的整月数据,这时需要提供快捷整月查询按钮:
如:技术分享图片

一般日期年月日之间由“-”或者“/”等符合分割开,简单判断当前月份进行处理即可。另外,如何获取所选月份的最大天数是关键,这里可以借助js自带Date函数来处理,关键在于定位到所选月份的最后一天

关键代码如下:

function changeMonth(type) {
        //获取当前输入框内的日期
        var s_date = $("input[name=‘s_date‘]").val();
        var e_date = $("input[name=‘e_date‘]").val();

        var arr = s_date.split("-");
        var year = parseInt(arr[0]),
            month = parseInt(arr[1]),
            day = parseInt(arr[2]);

        var year2 = year, month2 , day2;
        //取上一个月
        if(type == ‘pre‘) {
            month2 = month - 1;
            if(month2 == 0) {   //如当前是一月份
                month2 = 12;
                year2 = year - 1;
            }
        } else {
            month2 = month + 1;
            if(month2 == 13) {
                month2 = 1;
                year2 = year + 1;
            }
        }

        //输出所选月份的第一天
        var start = year2 + "-" + month2 + "-" + "1";
        //获取当前
        var date = new Date(start);
        var year = date.getFullYear();
        var month = date.getMonth()+1;
        var d = new Date(year,month,0);   //下一个月的前一天

        var end = year2 + "-" + month2 + "-" + d.getDate();
        console.log(start,end);

        //设置当前时间input的值
        $("input[name=‘s_date‘]").val(start);
        $("input[name=‘e_date‘]").val(end);
    }

以上是关于JS 如何获取当前上一个月下一个月和月份所含天数的主要内容,如果未能解决你的问题,请参考以下文章

js获取上一个月份

怎样得到当前月份的天数(Java)?

测算一段时间含每个月的天数,时间段2012-1-10到212-12-10,如何通过EXCEL公式得出1月2月.12月份所含的天数

MYSQL 怎样获取指定月份的每一天,求助

用HIVESQL怎么获取上一个月的月份

js日期相减求天数 精确到秒