Я работаю с датами, и при назначении даты методом new Date() у меня остался один день.
Мой код:
let prueba = new Date('2018-12-04')
console.log(prueba)
а в консоли у меня следующая дата:
Mon Dec 03 2018 21:00:00 GMT-0300 (hora estándar de Argentina)
Я имею в виду, я хочу, чтобы дата была 4 декабря, а на консоли у меня на один день меньше.....
Заранее спасибо....
Когда вы создаете новый объект Date , используя этот формат даты ( гггг-мм-дд ), он принимает 00:00:00 в качестве времени и по умолчанию +0 в качестве часового пояса. Дата устанавливается следующим образом: 4 декабря 2018 года в 0:00 в зоне +0.
Когда вы печатаете дату браузера на консоли, она настраивается на часовой пояс, который вы установили на своем компьютере, в данном случае GMT-3. При выполнении этой настройки, чтобы вы могли видеть дату, «переведенную» на ваш часовой пояс, эти три часа разницы вычитаются, и у вас остается 3 декабря 2018 года в 21:00 в зоне -3.
Чтобы убедиться, что в поле Date указана правильная дата , нужно также добавить к ней время:
При этом браузер предполагает, что указанное время находится в вашем часовом поясе, и автоматически настраивает его для правильного хранения.
Я рекомендую эту часть кода, чтобы компенсировать разницу, вызванную часовым поясом, что и вызывает эту разницу в дате:
Вы используете дату ISO: «2018-12-04» (Международный стандарт). В зависимости от вашего часового пояса он варьируется между 3 и 4 декабря. Хотя в вашем случае это Аргентина, вам нужно добавить еще 1 день к вашей дате, чтобы она показывала вам точную дату, которую вы хотите. Повторяю, это стандартный Javascript.
Ссылка: https://www.w3schools.com/js/js_date_formats.asp