Как корректно создать из переменных дата и время дату со временем? (проблема с часовыми поясами)

109
25 марта 2021, 06:40

Есть несколько компонентов. Один отвечает за дату, другие за время. Дата и время получаются как:

let date: Date = (<HTMLInputElement>document.getElementById("date")).valueAsDate;
let timeStart: Date = (<HTMLInputElement>document.getElementById("timeStart")).valueAsDate;

Затем в определённом месте дата и время соединяются в одну переменную и отправляются на сервер

const meetStart = new Date(date.setHours(timeStart.getHours(), timeStart.getMinutes())).toJSON();

Есть проблема: отправляется с учётом разницы в часовых поясах (допустим, если ввели 15:10, то время на сервер время придёт как 20:10)

Как корректно создать из переменных дата и время дату со временем?

Answer 1

Как вариант, можно отнимать разницу времени на клиенте:

function setOffset(date = new Date()) { 
  myTZO = -180; //если нужен часовой пояс мск например 
  date = new Date(date); 
  localDate = new Date(date.getTime() + (60000 * (date.getTimezoneOffset() - myTZO))); 
  return localDate; 
}

Answer 2

Есть вариант все перегонять в unix ts (например с помощью moment.js) и отправлять на сервер его, а уже там переводить в нужный пояс.

READ ALSO
slick + анимация wow js

slick + анимация wow js

Есть горизонтальный сайт который работает через slick и работает по блочноНужно чтобы, при скролле на следующий слайд запускалась анимация...

103
Возможно ли подключить дебаг frontend&#39;а к Intellij Idea?

Возможно ли подключить дебаг frontend'а к Intellij Idea?

К примеру я разрабатываю продукт на angular 1Есть ли возможность, чтобы не открывать "инструменты разработчика" в браузере, а непосредственно...

83
Применение паттернов в canvas

Применение паттернов в canvas

Я создаю фон, который почему-то перекрывает позже созданный мною паттернНе могу понять, как сделать наоборот

87
Почему не работает change в форме?

Почему не работает change в форме?

Вот часть формыНужно сохранять выбранные значения в localStorage

86