Как получить разделитель даты?

Как определить разделитель даты , если возможные разделители '.', '/', '-' ? У времени разделитель всегда ':' так что его пропускаем.
Я сейчас с помощью split разбиваю строку и 3 раза проверяю её на наличие каждого из вышеперечисленных символов. Хотелось бы знать можно это сделать в одно действие ? Если да то как ?)
  • Вопрос задан
  • 55 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Разделитель - первый символ, не являющийся цифрой. Так что str.match(/\D/)[0].
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Зачастую достаточно просто скормить строку в new Date() или Date.parse() он принимает на вход с разными разделителями.

Если вам известен формат - можно использовать moment.js, там указывается формат
Пример:
moment("2010-10-20 4:30",       "YYYY-MM-DD HH:mm");   // parsed as 4:30 local time
moment("2010-10-20 4:30 +0000", "YYYY-MM-DD HH:mm Z"); // parsed as 4:30 UTC


Можно сделать replace(/[.\/]/, '-') и привести все к дефисам.

Если формат неизвестен, то с датой легко ошибиться, представим себе шестое июля 2008 записанные в разном порядке.
'2008/07/06',
  '07-06-2008',
  '06-07-2008',
  '07/06/08',
  '06/07/08',
  '07/06/08',
  '06/07/08',
  '08/06/07',
как вы их различите не зная формат?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы