【问题标题】:Use moment to check if date is from 2 minutes ago使用时刻检查日期是否从 2 分钟前开始
【发布时间】:2017-05-15 22:06:10
【问题描述】:

我尝试了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 (PST)

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

【问题讨论】:

  • 您的示例日期不是相隔两分钟,而是相隔 1 年 10 天 2 分钟。

标签: date momentjs


【解决方案1】:

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

您遇到的另一个问题是 moment 没有正确解析您的日期字符串。为了纠正这个问题,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));

【讨论】:

    猜你喜欢
    • 2021-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多