我尝试了this,但我无法使其发挥作用。
我有一系列日期,如下所示:['5/15/2017, 2:59:06 PM', '5/15/2017, 2:59:16 PM', ...
]
我想过滤它并获取最后2分钟的日期。
这就是我正在做的事情:
const twoMinutesAgo = moment().subtract(2, 'minutes')
myArray.filter(stat => moment(stat.date).isAfter(twoMinutesAgo))
但这始终是true
。
我看到twoMinutesAgo
是2017年5月15日星期一14:57:09 GMT-0700(PDT)
而moment(stat.date)
是2018年3月5日星期一14:59:06 GMT-0800(太平洋标准时间)
但我不确定这是否与它有关。我有什么想法我做错了吗?
答案 0 :(得分:5)
部分问题在于,您只是查看当天的小时,但实际上是在比较绝对日期。
您遇到的另一个问题是,无法正确解析日期字符串。为了纠正这个问题,you can provide a format string to instruct moment on how to parse apart the important bits:
const PARSE_FORMAT = 'M/D/YYYY, H:mm:ss A';
const twoMinutesAgo = moment().subtract(2, 'minutes')
myArray.filter(stat => moment(stat.date, PARSE_FORMAT).isAfter(twoMinutesAgo));