Я пытаюсь разобрать "NINE/MAR/2008" с использованием даты функции в JS, как:Как работает Date() в javascript?
new Date("NINE/MAR/2008")
Это дает мне результат:
Сб мар 01 2008
Какая логика учитывает синтаксический анализ даты в JS?
Я пытаюсь разобрать "NINE/MAR/2008" с использованием даты функции в JS, как:Как работает Date() в javascript?
new Date("NINE/MAR/2008")
Это дает мне результат:
Сб мар 01 2008
Какая логика учитывает синтаксический анализ даты в JS?
The только форматов, что Date
конструктора и Date.parse
требуются спецификация для поддержки является:
Один introduced by ECMAScript 5th edition в 2009 году, такие как 2015-04-29
, которая должна была быть упрощенной версией ISO-8601 но они перепутались с часовыми поясами (fixed in ECMAScript 2015, но затем должны были быть внесены изменения еще в ECMAScript 2016) и
Независимо от Date#toString
выходов на этом движке JavaScript (который не указан).
двигатели Большинство JavaScript также разобрать mm/dd/yyyy
(где те все номера — всегда в формате США, месяц-первых), но это не указано поведение. Некоторые могут анализировать yyyy/mm/dd
(обратите внимание на /
, а не на -
), но опять-таки это неопределенное поведение, и, в частности, некоторые двигатели могут интерпретировать его как UTC и другие как локальное время (и это важно, даже если это просто дата без времени на нем).
Все остальные синтаксические анализаторы должны выполняться с помощью собственного кода или кода в используемой вами библиотеке, например, MomentJS. Вы можете построить Date
из его составных частей, используя long form of the constructor, например: new Date(2008, 2, 9)
от 9 марта 2008 года (обратите внимание, что месяцы начинаются с 0 = январь).
Вы пробовали «новую дату» («NINE/MAR/TWOTHOUSANDEIGHT») '? С серьезной записью функция 'Date' имеет ограниченный интеллект для понимания заданных форматов. Очевидно, он не понимает ваш «ДЕВЯТЬ». – VisioN
Проверьте это [Дата] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date) – ozil
Почему отрицательный голос? – olleh