2016-03-01 5 views
0

У меня есть регистрационная форма, которая запрашивает у пользователя дату начала. Я использую 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})$ 

Работы прекрасно. Ниже приведен образ того, как он работает в моем приложении.

enter image description here

выпуска:

Когда пользователь отправляет форму данные, сохраненные в 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 и позволит мне выполнять на нем действия на стороне сервера.

+0

Это из Монго документы 'Внутренне, дата объекты хранятся как 64 битное целое представляя число миллисекунд с эпохи Unix (1 января 1970 г.), что приводит к представительному диапазону дат около 290 миллионов лет в прошлое и будущее. ' – Aukhan

ответ

0

Вы должны преобразовать moment объект даты JavaScript, прежде чем вы можете сохранить его MongoDB как поле даты:

moment("1993-03-25").toDate() 
+0

Большое вам спасибо за ответ. Вышеприведенный код выводит следующий формат: Thu Mar 25 1993 00:00:00 GMT + 0000 (GMT) '. Это правильный формат, который нужно сохранить? – Skywalker

+0

Да, это правильный формат. На самом деле это объект даты JavaScript, однако Монго знает, как справиться с этим. – Jaco