szQocks
@szQocks

Почему не присваивается новое значение даты?

const miliseconds_day = 1000*60*60*24;
           const lastDate = new Date(new Date());
           const nextDate = new Date(lastDate.setMilliseconds(lastDate.getMilliseconds() + miliseconds_day));
           console.log(nextDate, 'в переменной')


По факту сейчас в nextDate - текущая дата просто отображается, хотя я то я добавляю к ней сутки в милисекундах

но если в консоль лог вывести
console.log(new Date(lastDate.setMilliseconds(lastDate.getMilliseconds() + miliseconds_day)), 'в консоли')
то отображается верно, где я туплю или что это такое ?
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Метод getMilliseconds возвращает количество долей секунды в значении даты, а не количество миллисекунд с 01.01.1970.

Полагаю, вы хотите чего-то подобного:
const miliseconds_day = 1000 * 60 * 60 * 24;
const lastDate = new Date();
const nextDate = new Date(lastDate.valueOf() + miliseconds_day);
console.log(lastDate.valueOf() + miliseconds_day, 'ms');
console.log(lastDate, 'last');
console.log(nextDate, 'next');


Или даже проще:
const miliseconds_day = 1000 * 60 * 60 * 24;
const nextDate = new Date(Date.now() + miliseconds_day);
console.log(nextDate, 'next');
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы