JS 如何獲取當前上一個月、下一個月和月份所含天數

在數據報表查詢中,常常須要設置查詢的日期區間,如查詢2018-02-01至2018-02-28的整月數據,這時須要提供快捷整月查詢按鈕: 如:函數

通常日期年月日之間由「-」或者「/」等符合分割開,簡單判斷當前月份進行處理便可。另外,如何獲取所選月份的最大天數是關鍵,這裏能夠藉助js自帶Date函數來處理,關鍵在於定位到所選月份的最後一天code

關鍵代碼以下:get

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);
    }
相關文章
相關標籤/搜索