我有一个日期格式为“dd/mm/yyyy”的数组,格式为字符串。查找数组中值之间的日期
var myDates = [ "01/04/2017", "11/12/2017", "12/09/2017", "02/03/2017" ];
1)我怎样才能检索“01/02/2017”和“01/12/2017”之间的日期?
2)如何将“dd/mm/yyyy”字符串转换为相同格式的日期?
问候, 埃利奥费尔南德斯
我有一个日期格式为“dd/mm/yyyy”的数组,格式为字符串。查找数组中值之间的日期
var myDates = [ "01/04/2017", "11/12/2017", "12/09/2017", "02/03/2017" ];
1)我怎样才能检索“01/02/2017”和“01/12/2017”之间的日期?
2)如何将“dd/mm/yyyy”字符串转换为相同格式的日期?
问候, 埃利奥费尔南德斯
使用Array#filter
方法过滤器的基础上所要求的条件。
var myDates = ["01/04/2017", "11/12/2017", "12/09/2017", "02/03/2017"];
var start = new Date(2017, 2, 1), // start date
end = new Date(2017, 12, 1); // end date
var res = myDates.filter(function(date) {
// parse the date
var d = new Date(...date.split('/').reverse());
// or for older browser which doesn't support ES6 spread syntax
// var dA = date.split('/');
// var d = new Date(dA[2], dA[1], dA[0]);
// check the date is in between start and end
return d >= start && d <= end;
});
console.log(res);
Pranav,结果应返回“01/04/2017”和“02/03/2017”,它只返回“01/04/2017”。 –
@ElioFernandes:怎么样''12/09/2017“'? –
对不起,那个也是。 –
请一次问一个问题。并展示一些努力。您的阵列中没有01/02/2017 ot 01/12/2017。目前还不清楚,如果您的阵列包含美国或欧洲日期 – mplungjan