Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.07.2010, 12:32
Аспирант
Отправить личное сообщение для Allan Stark Посмотреть профиль Найти все сообщения от Allan Stark
 
Регистрация: 24.04.2010
Сообщений: 87

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

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

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

А есть ли более красивый способ без исп. внешних фреймворков и дополнений ?
Ответить с цитированием
  #2 (permalink)  
Старый 08.07.2010, 12:46
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Вытащить из строки день, месяц и год и отдать их конструктору Date.
Ответить с цитированием
  #3 (permalink)  
Старый 08.07.2010, 12:54
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от Allan Stark
ему подавай в "американском" варианте в виде "12/31/2010".
replace(/(\d+)\.(\d+)\.(\d+)/, '$2/$1/$3')
Ответить с цитированием
  #4 (permalink)  
Старый 08.07.2010, 13:51
Аспирант
Отправить личное сообщение для Allan Stark Посмотреть профиль Найти все сообщения от Allan Stark
 
Регистрация: 24.04.2010
Сообщений: 87

Сообщение от Riim Посмотреть сообщение
replace(/(\d+)\.(\d+)\.(\d+)/, '$2/$1/$3')
О да, это как раз то, что нужно.

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

Пасиба !
Ответить с цитированием
  #5 (permalink)  
Старый 30.01.2014, 16:57
Новичок на форуме
Отправить личное сообщение для Smile373 Посмотреть профиль Найти все сообщения от Smile373
 
Регистрация: 30.01.2014
Сообщений: 1

Ещё способ:
var d='2013-11-05 21:04:56';
new Date(d).valueOf(); //1383671096000
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычитание даты kodermax Общие вопросы Javascript 7 17.04.2013 15:34
Парсинг данных alk0v Events/DOM/Window 12 11.09.2009 09:35
как вывести значение даты из календаря. greysells Общие вопросы Javascript 3 17.05.2009 17:43
Подсчет дней в IE, даты пользователя gotravelman Internet Explorer 6 26.02.2009 15:25
проверка формата даты на JavaScript, помогите простейшим примером tangens Общие вопросы Javascript 18 05.12.2008 15:20