Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Парсинг даты (https://javascript.ru/forum/misc/10526-parsing-daty.html)

Allan Stark 08.07.2010 13:32

Парсинг даты
 
Форма возвращает строковое значение даты, введенное пользователем в виде "31.12.2010".

Необходимо произвести парсинг этой строки и преобразовать в стандартную дату (кол-во миллисекунд) для последующего использования.

Стандартный метод объекта Date.parse не различает такие строки, ему подавай в "американском" варианте в виде "12/31/2010".
Пока все что надумал - преобразовывать символы точки в слеши и менять значения месяца и дня месяца местами.
Это все громоздко, нужно исп. регулярные выражения и прочую лабуду.

А есть ли более красивый способ без исп. внешних фреймворков и дополнений ?

Kolyaj 08.07.2010 13:46

Вытащить из строки день, месяц и год и отдать их конструктору Date.

Riim 08.07.2010 13:54

Цитата:

Сообщение от Allan Stark
ему подавай в "американском" варианте в виде "12/31/2010".

replace(/(\d+)\.(\d+)\.(\d+)/, '$2/$1/$3')

Allan Stark 08.07.2010 14:51

Цитата:

Сообщение от Riim (Сообщение 62784)
replace(/(\d+)\.(\d+)\.(\d+)/, '$2/$1/$3')

О да, это как раз то, что нужно.

В общем берем полученную из формы дату вида "13.12.2010", преобразуем его через replace (через шаблон регулярного выражения) в читабельную для Date.parsing() форму и дальше работаем штатно...

Пасиба !

Smile373 30.01.2014 18:57

Ещё способ:
var d='2013-11-05 21:04:56';
new Date(d).valueOf(); //1383671096000


Часовой пояс GMT +3, время: 02:42.