Я создаю новые объекты даты в javascript и вижу некоторые несоответствия в зависимости от того, использую ли параметр dateString значение year/month/day integer.Непоследовательности при создании новых объектов даты
Вот пример:
var dt1 = new Date(1979,3,5);
var dt2 = new Date('1979-04-05');
dt1 присваивается значение: Чт апр 05 1979 00:00:00 GMT-0500 (Центральное летнее время) назначается
dt2 значение: ср. Apr 04 1979 19:00:00 GMT-0500 (центральное летнее время)
Может кто-нибудь объяснить это поведение? Второй пример (dt2) - это формат, в котором Chrome возвращает выбранную дату из элементов ввода [type = date], поэтому я пытаюсь понять это.
Похоже на смещение GMT по мне – Jonathan
Не могли бы вы объяснить, почему вы даже ожидаете, что 'новая дата ('4,5,1979')' будет вести себя каким-либо особым образом? Строка ''4,5,1979'' даже не отформатирована как дата (но не в любом формате, который я признаю). – NPE
Вот что я понял. Это по дизайну? Почему смещение должно использоваться только при использовании параметра dateString? – joshb