Некорректное отображение метода Date. JavaScript

182
24 февраля 2018, 23:26
td = new Date('2017-05-16 13:45');
var dt = {
    time: td,
    value: '',
    add: function(val, type){
        this.value = this.time.toJSON();
        return this;
    }
};
dt.add();
console.log(dt.value);

Вывод такой:

2017-05-16T08:45:00.000Z

Почему некорректное время отображает? делает минус 5 часов (я нахожусь в зоне +5); помогите!!!

Answer 1

toJSON() пользуется функцией toISOString(), а этот метод, если нет указания на зону возвращает ответ с нулевой зоной:

td = new Date('2017-05-16 13:45'); 
td2 = new Date('2017-05-16 13:45 UTC'); 
 
console.log(td.toJSON()) 
console.log(td2.toJSON()) 
console.log(td.toISOString()) 
console.log(td2.toISOString())

READ ALSO
Стилизация объектов через JavaScript

Стилизация объектов через JavaScript

Хочу сделать так, чтобы при нажатии на кнопку увеличивался шрифт текстаПример: Вопрос: почему не применяется стилизация к тексту? Сам...

237
Вывод значения из функции JS vanilla [дубликат]

Вывод значения из функции JS vanilla [дубликат]

На данный вопрос уже ответили:

175
Зацикливается событие нажатии кнопки

Зацикливается событие нажатии кнопки

Есть страница, куда с помощью ajax запроса вставляются данныеВот кусочек кода:

175
Проблема с датой в JS

Проблема с датой в JS

ЗдравствуйтеПытаюсь сделать так чтобы, при отправке формы в БД записывалась дата отправки в формате "ДД

205