2017-05-15 3 views
0

私はthisを試しましたが、動作させることはできません。日付が2分以上経過しているかどうかを確認するには

私はこのような日付の配列があります:['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を返して:

これは私がやっているものです。

私はmoment(stat.date)が月2018年3月5日夜2時59分06秒GMT-0800(PST)であるtwoMinutesAgoが月2017年5月15日夜02時57分09秒GMT-0700(PDT)

であることを見た

しかし、それに関係があるかどうかはわかりません。私が間違っていることは何ですか?

+0

例の日付は2分ではなく、1年10日2分です。 –

答えて

2

一部の問題は、あなたが時間帯だけを見ているということですが、絶対的な日付を実際に比較しています。

その他の問題は、瞬間が日付文字列を正しく解析していないことです。これを修正するには、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)); 
関連する問題