Javascript 将日期范围调整为天

Javascript 将日期范围调整为天,javascript,date,Javascript,Date,我有一个日期功能,可以得到六个月的日期范围,考虑到这个范围是否已经过了新的一年。如何将此日期函数更改为15天的范围,同时考虑该范围是否已超过新的月份和/或新的一年 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] = "J

我有一个日期功能,可以得到六个月的日期范围,考虑到这个范围是否已经过了新的一年。如何将此日期函数更改为15天的范围,同时考虑该范围是否已超过新的月份和/或新的一年

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 tmonth = dt.getMonth() + 6 <= 11 ? dt.getMonth() + 6 : dt.getMonth() - 6;
var tyear = dt.getMonth() + 6 <= 11 ? dt.getFullYear() : dt.getFullYear() + 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);
var dt=新日期();
var month=新数组();
月[0]=“一月”;
月[1]=“2月”;
月[2]=“三月”;
月[3]=“4月”;
月[4]=“五月”;
月[5]=“6月”;
月[6]=“7月”;
月[7]=“8月”;
月[8]=“9月”;
月[9]=“10月”;
月[10]=“11月”;
月[11]=“12月”;
var tmonth=dt.getMonth()+6月的最后一天
var frm=dt.getDate()+'-'+month[dt.getMonth()]+'-'+dt.getFullYear().toString().substr(2,2);
var till=tday+'-'+月[tmonth]+'-'+tyear.toString().substr(2,2);

我认为解决这个问题的办法是:

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);
var dt=新日期();
var month=新数组();
月[0]=“一月”;
月[1]=“2月”;
月[2]=“三月”;
月[3]=“4月”;
月[4]=“五月”;
月[5]=“6月”;
月[6]=“7月”;
月[7]=“8月”;
月[8]=“9月”;
月[9]=“10月”;
月[10]=“11月”;
月[11]=“12月”;
var范围=15;
var tmonth=dt.getMonth()+(范围%12)月的最后一天
var frm=dt.getDate()+'-'+month[dt.getMonth()]+'-'+dt.getFullYear().toString().substr(2,2);
var till=tday+'-'+月[tmonth]+'-'+tyear.toString().substr(2,2);

现在,您可以选择所需的任何范围—无论是6还是15。

请格式化您的代码;)@DmitriPavlutin按代码的格式您的意思是什么?:)我希望这只是一个练习:永远不要自己处理日期/时间转换,而是使用经过战斗验证的库@mb21是的,只是一个练习