Проверка строки, содержащей DateTime в определенном шаблоне - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь сделать некоторые проверки параметров, которые получают из сообщения в Nodejs. Тело выглядит примерно так:

{
    "startDateTime": "2019-10-01 00:00:01",
    "endDateTime": "2019-10-01 23:59:59",
    "interval": "00:00:01"
}

Итак, мне нужно проверить, если startDateTime и endDateTime находятся в шаблоне "yyyy-MM-dd hh:mm:ss" и interval в "hh:mm:ss"

Я пытаюсь использовать пакет момент, но не сработал

const testDate = moment(startDateTime, "yyyy-MM-dd hh:mm:ss", true).isValid()

Я передаю StartDateTime = "2019-10-01 00:00:01", а testDate присваивается значение false.

Кто-нибудь может помочь?

1 Ответ

1 голос
/ 28 октября 2019

Вы используете неправильный формат. Вместо этого попробуйте "YYYY-MM-DD HH:mm:ss".

Чтобы узнать больше о форматах Moment.js, ознакомьтесь с его документацией .

let response = {
    "startDateTime": "2019-10-01 00:00:01",
    "endDateTime": "2019-10-01 23:59:59",
    "interval": "00:00:01"
};

const testDate = moment(response.startDateTime, "YYYY-MM-DD HH:mm:ss", true).isValid();

console.log(testDate);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
...