Я делаю функцию для пересчета времени на основе текущего времени.
timeShowToday - это определенное время каждый день (устанавливается в 8:00 вечера), чтобы показать какой-то слепой ответ.
_checkTime = () => {
let timeNow = new Date();
let timeShowToday = new Date( //set at 8:00pm everyday
timeNow.getFullYear(),
timeNow.getMonth(),
timeNow.getDate(),
20,
0
);
let timeShowYesterday = timeShowToday.setDate(timeShowToday.getDate() - 1);
let timeDiff = timeShowToday.getTime() - timeNow.getTime();
if (timeDiff < 0) { //recalculate if current Time is past specific time(8:00pm)
let temp = new Date(
timeNow.getFullYear(),
timeNow.getMonth(),
timeNow.getDate(),
20,
0
);
console.log(temp);
timeShowYesterday = temp;
timeShowToday = timeShowYesterday.setDate(
timeShowYesterday.getDate() + 1
);
console.log(timeShowYesterday);
}
Проблема здесь в том, что переменные temp и timeShowYesterday имеют разные события даты и времени, хотя я только что назначил temp для timeShowYesterday. Вот журнал, который я получаю, когда консоль записывает его:
05-03 00: 26: 59.623 ReactNativeJS: темп: пт 3 мая 2019 20:00:00 GMT + 0900
05-03 00: 26: 59.623 ReactNativeJS: timeShowYesterday: сб. 04 мая 2019 20:00:00 GMT + 0900
Как вы можете видеть, temp правильно записывает текущее время, но timeShowYesterday имеет +1 день. Я понятия не имею, почему это так, потому что все, что я сделал, это просто назначил временную шкалу timeShowYesterday.
я что-то упустил?
Спасибо