2015-04-13 5 views
-2

Так что мне было интересно, изменилась ли функция javascriptDate() для Firefox или даже других браузеров.Javascript new Date() изменено в firefox?

Сначала я хотел бы получить выход даты, как это: Mon Apr 13 2015 22:18:08 GMT+0200 (West-Europa (zomertijd))

Но теперь он выводит что-то вроде этого: 2015-04-13T20:15:18.322Z

У меня был сценарий, который был в зависимости от первого формата, так что сломал, пока ничего не изменилось в моем коде. Вот почему я начал исследовать и нашел это проблемой.

Мне было интересно, что с этим. (Я не прошу для решения форматирования, просто интересно, почему он отформатирован, как это)

Update 1: фигурное это может быть полезно добавить номера версий браузеров, которые я проверил (все с тем же результатом). Пример кода::

  • Firefox разработчики издание: 39.0a2 (2015-04-07)
  • Iceweasel 31.4.0
  • Firefox 37.0.1

Update 2

new Date(); 
-- output -- Date 2015-04-13T20:57:39.622Z 

Оказывается, это формат UTC или Zulu time. Итак, теперь возникает вопрос: почему он выводит дату UTC, пока он этого не делал раньше.

+1

Спецификация языка по крайней мере не изменилась в этом отношении. Хотя, точный формат, который используется, не указан. Это просто «[* Строка, представляющая текущее время (UTC) *] (http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.2)». –

+0

Региональные настройки для компьютера (ов), проверенного, возможно,? –

+0

@JamesWilkins Я тестировал его на двух разных компьютерах и на моем VPS. Тот же результат. Я не думаю, что региональные настройки имеют к этому какое-то отношение. – Bram

ответ

3

new Date() возвращает объект даты. Консоль в Firefox помогает разработчикам отлаживать вещи, а Mozilla, возможно, изменила представление объекта в консоли. Возможно, сначала они указали дату, представленную объектом, и теперь они показывают представление объекта, который вы можете исследовать (есть треугольник ▶, на который вы можете щелкнуть, по которому расширяется представление и отображается больше свойств объекта).

Это не должно иметь значения для поведения ваших программ. Когда вы выводите дату на странице, вы не будете напрямую печатать объект, но, например, конвертируете его в строку, которую вы получите в случае new Date().toString(). Такое поведение вряд ли изменится без причины.

+0

Думаю, я собираюсь выбрать это как ответ, поскольку это имеет смысл. Странно, что все изменилось внезапно. – Bram

+0

Не странно, что это изменилось внезапно. Инструменты разработчика Firefox регулярно обновляются, чтобы улучшить рабочий процесс для разработчиков. Это изменение не нарушит существующие программы, так как программы не запускаются внутри инструментов разработчика. Инструменты разработчика на самом деле просто помогают разработчикам отлаживать свои программы, и если они улучшат эти инструменты, это может выглядеть по-другому, но это не значит, что ваш код делает что-то другое. – rednaw

+0

Это действительно затормозило что-то для меня, так как я должен запустить скрипт на стороне клиента, и он полагался на первый формат даты. Но да, простой тэппинг сделал трюк;) – Bram

Смежные вопросы