使用javascript获取两个日期之间的日期列表
问题描述:
JavaScript中有一种方法可以从MySQL格式获取两个日期之间的日期列表。我不想为此使用任何库。 这就是我所做的。使用javascript获取两个日期之间的日期列表
function generateDateList(from, to) {
var getDate = function(date) { //Mysql Format
var m = date.getMonth(), d = date.getDate();
return date.getFullYear() + '-' + (m < 10 ? '0' + m : m) + '-' + (d < 10 ? '0' + d : d);
}
var fs = from.split('-'), startDate = new Date(fs[0], fs[1], fs[2]), result = [getDate(startDate)], start = startDate.getTime(), ts, end;
if (typeof to == 'undefined') {
end = new Date().getTime();
} else {
ts = to.split('-');
end = new Date(ts[0], ts[1], ts[2]).getTime();
}
while (start < end) {
start += 86400000;
startDate.setTime(start);
result.push(getDate(startDate));
}
return result;
}
console.log(generateDateList('2014-2-27', '2014-3-2'));
我测试它从铬和nodejs下面是结果。
[ '2014-02-27',
'2014-02-28',
'2014-02-29',
'2014-02-30',
'2014-02-31',
'2014-03-01',
'2014-03-02' ]
yeh大闰年:-D ...,我该如何解决这个问题?还是有更好的办法。?
答
var listDate = [];
var startDate ='2017-02-01';
var endDate = '2017-02-10';
var dateMove = new Date(startDate);
var strDate = startDate;
while (strDate < endDate){
var strDate = dateMove.toISOString().slice(0,10);
listDate.push(strDate);
dateMove.setDate(dateMove.getDate()+1);
};
+0
请添加更多关于您的答案的描述和/或信息,以及如何解决问题,以便其他人可以轻松理解,而无需澄清 – koceeng 2017-03-02 03:53:52
几个月的JavaScript日期从0开始编号。 02月份是3月份,而不是2月份。 – Pointy 2014-10-02 15:15:21
@点好哇谢谢。 – Oshanz 2014-10-02 15:31:54