这可能是一个新手javascript
问题,但我对日期感到疯狂......
我有array
个字符串以及两个字符串from
和to
:
var arr = ['2015-01-20','2015-02-14','2015-02-17','2015-03-06']
var from = '2015-02-01';
var to = '2015-03-01';
我想获得:
['2015-02-14','2015-02-17']
我尝试使用underscore.js
和momentjs
,但这失败了:
_.filter(arr, function(x){
return moment(x,'YYYY-MM-DD').isBetween(moment(from,'YYYY-MM-DD'), moment(to,'YYYY-MM-DD'))
});
给出空结果[]
...
我怎么能解决这个问题以及获得想要结果的更简洁的方法呢?
答案 0 :(得分:2)
filter
数组,然后使用时刻inBetween
函数。
arr.filter(function(date) {
return moment(date).isBetween(from,to);
});
答案 1 :(得分:1)
查看the docs,该方法将接受该格式的字符串(无需创建时刻对象)。
你也有一个拼写错误,它来自往返。 (需要来自和去)
arr.filter(function(x) {
return moment(x).isBetween(from, to);
});