2012-06-09 3 views
1

Я использую следующий код яваскрипта:Формат Date.js 'tt' не работает?

var d = Date.parseExact('Jun 4, 2012 12:30:00 AM','MMM d, yyyy h:mm:ss tt'); 
alert(d.toString('MMM d, yyyy h:mm:ss tt')); 

результат чека является:

Jun 4, 2012 12:30:00 PM 

кажется, Date.js действительно не заботится о моем формате «TT» ... это ошибка?

Спасибо.

ответ

0

Прежде всего, это важно, если вы используете формат tt. Кажется, что если вы делаете разбор 5:30 утра, вместо этого вы получаете ожидаемый результат, но когда вы переходите через 12, он меняется на PM.

(Вы получаете противоположный результат, если вы начинаете с вечером, то вы получите AM.)

Здесь я немного на неустойчивых грунтах, как я не слишком хорошо знаком с системой AM PM. Но разве это не с 00:00 до 11:59?

В любом случае, похоже, что это делает библиотека Date.js, она изменяет AM вашего 12:30 времени на PM.

+0

формат h означает 1-12 (см. Документацию), поэтому 12:30 как 00:30 AM ... согласно моему пониманию – ilazar

3

Не уверен, что это применимо к вам, но I found this сегодня.

Как оказалось, файл .js, доступный для скачивания на основном сайте, немного устарел. Обновление версии, упомянутой в этом выпуске, устранило аналогичную проблему для меня.

+0

Спасибо за это. Ты спас мне много времени ... http://www.datejs.com/build/date.js для тех, кто интересуется. – SgtPooki

+0

Вы должны использовать fork Date.js: Evolved (https://github.com/abritinthebay/datejs) Эта вилка была начата, чтобы улучшить и поддерживать DateJS. Чтобы сохранить, по-прежнему, наиболее полнофункциональную библиотеку JavaScript-времени, сохраненную и улучшенную. – emp

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