Date (). GetTimezoneOffset () в Javascript против TimeZoneInfo.Local.GetUtcOffset (DateTime.UtcNow) .TotalMinutes на стороне сервера .net - PullRequest
0 голосов
/ 22 января 2019

В моем приложении используется функция javascript

Date().getTimezoneOffset();

Мне нужна функция на стороне сервера, чтобы заменить то же самое. Я использую

TimeZoneInfo.Local.GetUtcOffset(DateTime.UtcNow).TotalMinutes;

Есть ли разница между этими двумя значениями, кроме -ve и + ve? Могу ли я использовать этот метод на стороне сервера вместо этой функции JavaScript.

Ответы [ 2 ]

0 голосов
/ 22 января 2019

Они одинаковы, кроме знака (+/-), но имейте в виду:

  • Они оба возвращают локальное смещение current .Смещение для некоторого другого момента времени в том же часовом поясе может отличаться.См. «Часовой пояс! = Смещение» в тэге часового пояса wiki .

  • «Местный» означает местный, где выполняется код.Таким образом, в веб-приложении серверный код использует настройку часового пояса сервера.Он не имеет представления о часовом поясе вашего пользователя.

0 голосов
/ 22 января 2019

Согласно документам Mozilla Developer Docs для JavaScript,

Метод getTimezoneOffset () возвращает разницу часовых поясов, в минут от текущей локали (настройки хост-системы) до UTC.

Сводные комментарии метода для GetUtcOffset в .NET описывает

Резюме:

Вычисляет смещение или разницу между временем в этом часовом поясе и всемирным координированным временем (UTC) для определенной даты и времени.

По существу оба выполняют почти одинаковую работу, за исключением того, что .Net возвращает объект TimeSpan , тогда как JavaScript - это просто число (разница смещения в минутах)

Значение свойства TotalMinutes в факте объекта TimeSpan возвращает то же значение, что и JavaScripts '

...