Я пытаюсь показать время в зависимости от местного часового пояса пользователя.Сервер экономит время на UTC.
Итак, у меня есть дата и время, сохраненные в моей базе данных.
2018-10-03 05:55:51 // my server is digital ocean
Так что теперь я пытаюсь утешить пользователя по местному времени.Мой часовой пояс установлен на Sylhet Bangladesh
Смещение по времени составляет -360
var offset = new Date().getTimezoneOffset();
console.log(offset) // offset is -360
var testDateUtc = moment.utc("2018-10-03 05:55:51");
var localDate = moment(testDateUtc).utcOffset(offset);
console.log(localDate.format("YYYY-DD-MM hh:mm:ss"));
Приведенный выше код печатает неверную дату, но правильное время.2018-02-10 11:55:51
дата неверна.
Затем я изменил часовой пояс моего макинтоша на Dubai
, который равен 2 hours different then my country
Для Дубая смещение составляет -240
, и оно показывает время 2018-03-10 01:55:51
, это означает, что дата верна, новремя не правильно.
Пожалуйста, помогите.Спасибо.
РЕДАКТИРОВАТЬ Это работает для большинства стран, которые я тестировал, как это offset = Math.abs(offset)
, поэтому всегда делает его положительным