2017-10-08 52 views
-1

我有一个日期格式为“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”字符串转换为相同格式的日期?

问候, 埃利奥费尔南德斯

+1

请一次问一个问题。并展示一些努力。您的阵列中没有01/02/2017 ot 01/12/2017。目前还不清楚,如果您的阵列包含美国或欧洲日期 – mplungjan

回答

0

使用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);

+0

Pranav,结果应返回“01/04/2017”和“02/03/2017”,它只返回“01/04/2017”。 –

+0

@ElioFernandes:怎么样''12/09/2017“'? –

+0

对不起,那个也是。 –

相关问题