Javascript: Получить начало времени Завтра с указанным c часовым поясом - PullRequest
0 голосов
/ 13 июля 2020

Я новичок в моменте js и столкнулся с проблемой. Мне нужно очищать документ от mongoDB в начале каждого дня. Пример: данные должны быть очищены в 2020-07-14T00: 00: 00: 000z. Я добавил TTL для того же.

Это то, что я добавил.

    const date  = new Date();
    date.setDate(date.getDate() + 1);
    date.setHours(0);
    date.setMinutes(0);
    date.setSeconds(0);
    date.setMilliseconds(0);

Проблема в том, что модуль, на котором выполняется код, находится в UT C времени. т.е. 21:00 UT C (время серверного модуля) -> 00:00 Fini sh Время -> 02:30 IST (мое местное время). Есть ли способ получить начало дня в вышеупомянутом формате с часовым поясом «Европа / Хельсинки», так что конец sh время 12.00 утра на моем сервере, документ должен быть очищен.

Любой помощь будет очень признательна.

Заранее спасибо

1 Ответ

1 голос
/ 13 июля 2020

Если вы хотите, чтобы ваше приложение работало во время, которое находится в другом часовом поясе, чем то, что у вас есть на сервере, вам нужно компенсировать время часами, которые составляют разницу между временем вашего сервера и местным временем.

Например, EUST (Европа / Хельсинки) - это + 3GMT. Вам нужно добавить это смещение в уравнение сравнения, если вы хотите, чтобы операция была согласована с вашим местным временем.

const offsetEUST = 3;

const date  = new Date();
date.setDate(date.getDate() + 1);
date.setHours(0 + offsetEUST );
date.setMinutes(0);
date.setSeconds(0);
date.setMilliseconds(0);
...