使用片刻检查日期是否在2分钟前

时间:2017-05-15 22:06:10

标签: date momentjs

我尝试了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(太平洋标准时间)

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

1 个答案:

答案 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));