Loading

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);
    }
posted @ 2018-06-19 11:54  集君  阅读(11853)  评论(0编辑  收藏  举报