Я изо всех сил пытаюсь заставить эту работу работать. Вот моя проблема.Javascript new Date несоответствие
Я получаю даты от REST API в разных форматах (mm-dd-yyyy-timezone, mm-dd-yyy hh:mm:ss, yyyy-mm-dd-timezone, yyyy-mm-dd hh:mm:ss)
, но мне нужно отформатировать его в формате yyyy-mm-dd
. Я использовал подстроку, чтобы захватить первые 10 символов, чтобы получить Datestring, игнорируя время/часовой пояс.
Во время этого процесса я наблюдал эту проблему.
new Date("08-11-1987") gives me Tue Aug 11 1987 00:00:00 GMT-0700 (Pacific Daylight Time)
Где, как,
new Date("1987-08-11") gives me Mon Aug 10 1987 17:00:00 GMT-0700 (Pacific Daylight Time)
Почему существует разница в один день при создании объекта Date.
Ваш серверный API не должен возвращать дату в виде строковых значений. Дата должна быть возвращена как есть. Когда дата сериализуется, она имеет определенный формат и также содержит информацию о часовом поясе Javascript engine может использовать для определения правильной даты. – Chandermani
, пожалуйста, укажите код ур –
@chandermani Спасибо за ваш ответ, есть проблемы, связанные с обслуживанием, и его потребуется некоторое время, чтобы исправить это. Тем временем мы пытаемся исправить это в пользовательском интерфейсе. Мне было просто интересно понять это поведение JS-движка. –