Момент: сравнить две даты неверный результат - PullRequest
0 голосов
/ 27 мая 2018

Я пытаюсь сравнить две даты внутри в UI-GRID, в конце у меня есть две даты в правильном формате, но это не работает, всегда выдает мне неверный результат.

Кодэто следующее:

filters: [{
    condition: function (term, value) {
        if (!term) return true;
        var valueDate = moment.utc(value).format(CONST.LANGUAJE.dateformat);
        var replaced = term.replace(/\\/g, '');
        var termDate = moment.utc(replaced, CONST.LANGUAJE.dateformat).format(CONST.LANGUAJE.dateformat); // moment(replaced).format(CONST.LANGUAJE.dateformat); // new Date(replaced);
        console.log('valueDate >= termDate: ' + valueDate + '>=' + termDate + ' moment result: ' + moment(valueDate).isAfter(termDate));
        return moment(valueDate).isAfter(termDate); // valueDate >= termDate;
    },
    placeholder: 'greatter than'
},

В журнале консоли у меня есть это:

valueDate >= termDate: 16/09/2022>=23/01/2011 moment result: false
woControllerPreventive.js:97 valueDate >= termDate: 16/09/2025>=23/01/2011 
moment result: false
woControllerPreventive.js:97 valueDate >= termDate: 16/09/2020>=23/01/2011 
moment result: false
woControllerPreventive.js:97 valueDate >= termDate: 16/11/2010>=23/01/2011 
moment result: false
woControllerPreventive.js:97 valueDate >= termDate: 16/09/2022>=23/01/2011 
moment result: false
woControllerPreventive.js:97 valueDate >= termDate: 16/09/2021>=23/01/2011 
moment result: false
4woControllerPreventive.js:97 valueDate >= termDate: 16/09/2020>=23/01/2011 
moment result: false
3woControllerPreventive.js:97 valueDate >= termDate: 16/09/2019>=23/01/2011 
moment result: false

Obviosuly 16/09/2025> = 23 января 2011 это правда, но я нене знаю, почему не работает.

1 Ответ

0 голосов
/ 27 мая 2018

Работает только с форматом moment('2010-10-20').isAfter('2010-10-19'); // true

См .: https://momentjs.com/docs/#/query/is-after/

...