Я использую date.js в своем проекте, и я столкнулся с чем-то, чего я не ожидал в отношении дат, которые имели временные компоненты ровно в полдень или ровно в полночь.
Когда я использую нативный метод javascript Date.parse
, я получаю ожидаемый результат при разборе даты:
// plain old javascript
var date = new Date(Date.parse("10/21/2010 12:00:00 PM"));
alert(date);
Я получаю это:
Чт 21 октября 2010 12:00:00 GMT-0500 (Центральное дневное время)
Я интерпретирую это как полдень 21 октября 2010 года, что, как я думаю, является моей датой ввода. Однако, когда я импортирую date.js и пробую что-то подобное,
// using date.js
var date = Date.parseExact("10/21/2010 12:00:00 PM", "M/d/yyyy hh:mm:ss tt");
alert(date);
Я получаю это:
Пт. 22 октября 2010 00:00:00 GMT-0500 (Центральное дневное время)
Это выглядит как полночь следующего дня. Я понятия не имею, почему он интерпретирует это как полночь, или, во всяком случае, почему он интерпретирует это иначе, чем значение по умолчанию Date.parse
в javascript. Я запутался в значении 12:00? Я неправильно использую parseExact для date.js?