установить баннер в ожидаемом часовом поясе - PullRequest
0 голосов
/ 01 октября 2019

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

В моем проекте я хочу установить баннер отключения с некоторыми датами начала и окончания. В настоящее время я сравниваю системную дату с начальной и конечной датой и соответственно отображаю баннер. Здесь проблема с разными часовыми поясами. Для синхронизации я конвертирую все 3 даты (даты начала, sysDate и окончания) в UTC, но это не работает в часовом поясе CST.

let startDate, endDate;
let sysDate = new Date();
this.sysDate= new Date(this.sysDate.toUTCString()).valueOf();
this.startDate = new Date(this.OutageDetails.startDate);
this.startDate= new Date(this.startDate.toUTCString()).valueOf();
this.endDate= new Date(this.OutageDetails.endDate);
this.endDate= new Date(this.endDate.toUTCString()).valueOf();
if(startDate<= this.sysDate && this.sysDate<=this.endDate())
{
  console.log('Show the banner');
}

// здесь OutageDetails - это файл, в который я загружаю startDate и endDate

Это показывает ожидаемые результаты для всех зон UTC, но не для CST. Я также пробовал с GMT, но безуспешно. Пожалуйста, дайте мне знать лучшее возможное решение для этого.

1 Ответ

0 голосов
/ 01 октября 2019

Пожалуйста, обратитесь к этим двум URL для лучшего решения: 1) https://momentjs.com/ 2) https://momentjs.com/timezone/

...