我有这个日期功能,日期范围为六个月,考虑到范围是否已经过了新的一年。我如何改变这个日期功能,以考虑该范围已经过了15个月,同时考虑到该范围是否已经过了新的月份和/或新的一年。
.navbar
答案 0 :(得分:0)
我认为解决方法是:
var dt = new Date();
var month = new Array();
month[0] = "JAN";
month[1] = "FEB";
month[2] = "MAR";
month[3] = "APR";
month[4] = "MAY";
month[5] = "JUNE";
month[6] = "JULY";
month[7] = "AUG";
month[8] = "SEPT";
month[9] = "OCT";
month[10] = "NOV";
month[11] = "DEC";
var range = 15;
var tmonth = dt.getMonth() + (range % 12) <= 11 ? dt.getMonth() + (range % 12) : dt.getMonth() - 6;
var tyear = dt.getMonth() + (range % 12) <= 11 ? dt.getFullYear() + Math.floor(range/12) : dt.getFullYear() + Math.floor(range/12) + 1;
var eom = new Date(tyear, tmonth + 1, 0).getDate(); //get last day of the month
var tday = dt.getDate() > eom ? eom : dt.getDate(); //check if the from day of month > last day of month
var frm = dt.getDate() + '-' + month[dt.getMonth()] + '-' + dt.getFullYear().toString().substr(2, 2);
var till = tday + '-' + month[tmonth] + '-' + tyear.toString().substr(2, 2);
现在您可以选择任何您想要的范围 - 无论是6还是15。