カーソルから生成された日付でsetDate()関数を使用するにはどうすればよいですか?カーソルから生成された日付でsetDate()関数を使用するにはどうすればよいですか?
私は正しく有効期限と期限自体前ある日の間の値でカーソルを返すクエリを生成しようとしています。
は私のコードの下に検索:
var currentDate = new Date();
var expiryDate;
var dayBeforeExpiry;
var loopThruCollection = buyList.find({});
loopThruCollection.forEach(function (row) {
console.log (row.expiryDate)
expiryDate = row.expiryDate;
});
// expiryDate minus one day, should equal the day before the expiry date.
dayBeforeExpiry = expiryDate.setDate(expiryDate.getDate() -1);
if(currentDate == dayBeforeExpiry){
return buyList.find({ expiryDate : {'$gte': dayBeforeExpiry, '$lte': expiryDate } }).fetch();
}
else {
return buyList.find({ expiryDate : {'$lte': expiryDate}}).fetch();
}
上記のコードの結果は次のとおりです。
Thu Mar 30 2017 16:29:35 GMT+0300 (EAT)
2017-02-22T14:46:33+03:00
2017-03-21T17:17:22+03:00
2017-03-21T17:18:45+03:00
2017-01-30T17:42:21+03:00
2017-02-22T15:10:50+03:00
2017-01-27T21:45:57+03:00
Uncaught TypeError: expiryDate.getDate is not a function(…)
私はexpiryDateから変数前日の生成に取り掛かるべきかわかりません。
訂正でお願いします。
コメントのいくつか:1.等価(または厳密な等価演算子)を使用して日付を比較したいとは思わないかもしれません。ミリ秒単位で見逃した場合、時間は等しくなりません。私は、OPが何らかのリマインダを設定したいと思っていて、それに対する否定的な道を選ぶと思います。 2. 'moment.js'は他のライブラリと同様に、Meteorの最近のバージョンでもnpm経由でインストール可能です。 – MasterAM
これは、平等に関しては真です。私はOPコードに直接結びつける例としてしか示していませんでした。あなたはMeteorのnpmについても正しいです。私はそれを更新します。 – jordanwillis