1. 程式人生 > >JS 如何獲取當前上一個月、下一個月和月份所含天數

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

RM javascrip AD 設置 inpu arr ear div chan

在數據報表查詢中,經常需要設置查詢的日期區間,如查詢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 如何獲取當前上一個月、下一個月和月份所含天數