Как создать объект даты из строки даты, которая содержит AM / PM? - PullRequest
10 голосов
/ 24 декабря 2011

Есть ли способ определить объект даты javascript со значением AM / PM?

Примерно так

Ответы [ 4 ]

11 голосов
/ 24 декабря 2011

Это работает:

new Date( '1 Jan 1900 8:20:00 PM' )

и эквивалентно

new Date( '1 Jan 1900 20:20:00' )

Демонстрационная версия: http://jsfiddle.net/cVE2E/

0 голосов
/ 24 декабря 2011

Нет гарантии, что метод Date.parse () и, следовательно, новый конструктор Date () могут анализировать любой конкретный формат даты.Согласно стандарту ECMAScript, требуется обрабатывать только определенный формат ISO 8601 и некоторые зависящие от реализации форматы.

Таким образом, по крайней мере, для переносимости вам необходимо использовать другие инструменты, такие как Globalize.js библиотека;используя его, вы бы использовали

Globalize.parseDate('1900-1-1 8:20:00 PM','yyyy-M-d h:mm:ss tt')

, который возвращает объект Date, когда первый аргумент соответствует формату, указанному во втором аргументе.

Если вам нужно обработать alternative форматы даты на входе, вам может понадобиться написать код, который пытается читать данные, используя определенные форматы, пока не получит ненулевой результат.

0 голосов
/ 24 декабря 2011

Это зависит от браузера и / или локали.Но я нашел скрипт, который может помочь: http://blog.stevenlevithan.com/archives/date-time-format

0 голосов
/ 24 декабря 2011

вы можете использовать Date.parse

var startDate = new Date(Date.parse("1900-1-1 8:20:00 PM"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...