用片刻检查日期是否从2分钟前开始

Mat*_*cci 1 date momentjs

我试过了,但无法正常工作。

我有这样一个日期数组:['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))
Run Code Online (Sandbox Code Playgroud)

但这总是回归true

我看到的twoMinutesAgo是2017年5月15日星期一14:57:09 GMT-0700(PDT)

时间moment(stat.date)是2018年3月5日星期一14:59:06 GMT-0800(PST)

但是我不确定这是否与它有关。有什么想法我做错了吗?

And*_*ion 7

问题的一部分是,您只查看一天中的小时,但实际上是在比较绝对日期。

您遇到的另一个问题是矩无法正确解析日期字符串。为了解决这个问题,您可以提供一个格式字符串来指示一下如何解析重要位

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));
Run Code Online (Sandbox Code Playgroud)