У меня есть регистрационная форма, которая запрашивает у пользователя дату начала. Я использую MEAN Framework, что означает, что Im использует AngularJs на передней панели.Coverting Date input from String format to Date format
То, что я сделал до сих пор:
Сначала я попытался, используя следующий код, но он не работает на IE & FireFox.
<input type="date" name="startDate">
Затем я попытался следующее регулярное выражение, которое я нашел на this SO вопрос.
^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$
Работы прекрасно. Ниже приведен образ того, как он работает в моем приложении.
выпуска:
Когда пользователь отправляет форму данные, сохраненные в MongoDB. В приведенном выше изображении вы можете видеть, что данные сохраняются в виде строки. Я хочу преобразовать его в соответствующий формат даты, чтобы я мог выполнять действия на его стороне сервера (Node.js). Фильтровать всех пользователей, которые начали после 2015 года или оставались между 1999 годом & 2001 и т.д.
Любые предложения были бы полезными.
UPDATE:
В настоящее время я тестирую moment.js. Будет обновлен мой вопрос, как только у меня будет результат.
Результат:
Я попытался следующие с помощью moment.js:
console.log("MOMENT" + moment("1993-03-25").format());
Выход из следующих был:
MOMENT 1993-03-25T00:00:00+00:00
Я не уверен, что это правильный формат для сохранения в MongoDB и позволит мне выполнять на нем действия на стороне сервера.
Это из Монго документы 'Внутренне, дата объекты хранятся как 64 битное целое представляя число миллисекунд с эпохи Unix (1 января 1970 г.), что приводит к представительному диапазону дат около 290 миллионов лет в прошлое и будущее. ' – Aukhan