2017-05-03 13 views
-1

このMeteorサーバーコードは、指定された日付文字列DD/MM/YYYYが過去14日以内であるかどうかを検出しようとします。日付とmomentJsを比較する

let date = '03/05/2017'; //DD/MM/YYYY 

    let dayStart = moment().subtract(14, 'days').format('DD/MM/YYYY'); 

    if (moment(date).isBefore(dayStart)) { 
    console.log('before'); 
    } else { 
    console.log('after'); 
    } 

これは動作しますが、私は、コンソールのエラーを取得:それはエラーなしで動作しますので、それを修正する方法

Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.

任意の提案を? thx

+2

代わり

pass a parse formatとは瞬間ではなく、文字列との比較を行います。 'if'行に日付を作るときに使用しているフォーマットを指定する必要があります。 –

答えて

1

日付を計算して、それをStringに書き出し、指定されていない(解析時の)非標準形式のStringからその同じ日付を解析し、それを指定されていない非標準形式の別の日付と比較します。警告メッセージ内のリンクは、何をすべきかを正確に説明します

let date = '03/05/2017'; //DD/MM/YYYY 
let dateAsMoment = moment(date, 'DD/MM/YYYY'); // specified parsed date 

let dayStart = moment().subtract(14, 'days'); // 14 days before now, as a Moment 

if (dateAsMoment.isBefore(dayStart)) { 
    console.log('before'); 
} else { 
    console.log('after'); 
}