获取日期范围可调整为天数

时间:2016-01-01 14:18:20

标签: javascript date

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

.navbar

1 个答案:

答案 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。