Есть несколько компонентов. Один отвечает за дату, другие за время. Дата и время получаются как:
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)
Как корректно создать из переменных дата и время дату со временем?
Как вариант, можно отнимать разницу времени на клиенте:
function setOffset(date = new Date()) {
myTZO = -180; //если нужен часовой пояс мск например
date = new Date(date);
localDate = new Date(date.getTime() + (60000 * (date.getTimezoneOffset() - myTZO)));
return localDate;
}
Есть вариант все перегонять в unix ts (например с помощью moment.js) и отправлять на сервер его, а уже там переводить в нужный пояс.
Продвижение своими сайтами как стратегия роста и независимости