Дата выпуска в Firefox - PullRequest
       1

Дата выпуска в Firefox

4 голосов
/ 12 января 2012

Я хочу разобрать дату на моей странице в Javascript Date.

Итак, у меня есть это на моей странице

<span>01-07-2012 01:04 PM</span>

И у меня есть код Javascript, который анализирует это значение на сегодняшний день

var tagText = $(this).html();
var givenDate = new Date(tagText);
alert(givenDate);

А вот что я получаю в разных браузерах

IE:

Сб 7 января 13:04:00 UTC + 0400 2012

Chrome:

Суббота, Янв 07 2012 13:04:00 GMT +0400 (стандартное время Кавказа)

Firefox:

Неверная дата

Почему Firefox не распознает мою дату? Что я должен изменить, чтобы он работал со всеми основными браузерами?

Вот jsfiddle http://jsfiddle.net/mgER5/1/

Ответы [ 4 ]

9 голосов
/ 12 января 2012

попробуйте это:

var tagText = $(this).html();
tagText = tagText.replace(/-/g, '/');
var givenDate = new Date(tagText);
alert(givenDate);
2 голосов
/ 12 января 2012

Как объясняется в документации , строка, которую вы передаете в конструктор объекта Date, должна быть:

Строковое значение, представляющее дату. Строка должна быть в формате распознается методом parse ( метки времени, соответствующие IETF RFC 1123 ).

По сути, оно должно представлять дату RFC822 или ISO 8601.

0 голосов
/ 04 июня 2013

Если вам действительно нужна полная кросс-браузерная поддержка для любого формата даты, вам стоит взглянуть на moment.js . Это позволяет вам четко указывать формат ввода. Например:

var m = moment('01-07-2012 01:04 PM', 'DD-MM-YYYY  hh:mm a');
0 голосов
/ 12 января 2012

Что я должен изменить, чтобы он работал со всеми основными браузерами?

Запишите это в миллисекундах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...