Я делаю манипуляции с датами в javascript, используя Date
объект. Я потерял, как один час, чтобы понять ошибку: сразу после инициализации я использовал функцию .toJSON()
, и моя дата уменьшилась на один. Вот пример кода, что я делаю:toJSON функция из объекта даты вычитания один день
var date = new Date();
console.log(date.getDate()); // print "19"
date.setDate(date.getDate()-1); // print "18"
var formated = date.toJSON().substr(0, 10); // print "2013-09-17"
Внезапно дата перемещается от 18 до 17. Так быть уверен, что я попробовал это непосредственно в консоли разработчика:
new Date(2013, 09, 19)
Sat Oct 19 2013 00:00:00 GMT+0200 (Paris, Madrid (heure d’été)) // date "19" as it should
new Date(2013, 09, 19).toJSON()
"2013-10-18T22:00:00.000Z" // date "18" as it shouldn't
Теперь мой вопрос просто «почему?».
Возможно ли, что это произошло из моей конфигурации или еще?
Это ошибка? Если да, это известная ошибка?
Thx Я должен иметь хотя бы об этом ... Я проверю – EoiFirst
Спасибо. Я надеюсь, что ссылка на другой ответ поможет вам прибить решение;) –
Мое решение было «Больше не использовать эту функцию». Но теперь я знаю \ o / – EoiFirst