JavaScript new Date () Возвращение сервера Смещение времени в приложении Blazor ServerJavascript

Форум по Javascript
Ответить
Anonymous
 JavaScript new Date () Возвращение сервера Смещение времени в приложении Blazor Server

Сообщение Anonymous »

У меня есть приложение Blazor Server, которое должно знать локальный часовой пояс для его работы (это приложение планирования, которое использует DXScheduler). Стратегия состоит в том, чтобы получить локальное смещение времени из браузера пользователя, используя объект JavaScript New Date () и отправка смещения обратно в C# код для манипуляции. Тем не менее, вызов JavaScript возвращает смещение часового пояса часового пояса, а не клиент. Я проверил это, изменив часовой пояс сервера и отметив, что вывод кода предсказуемо изменяется в отношении изменения часового пояса сервера. который находится в своем собственном .js файле в папке/wwwroot :

Код: Выделить всё

function getTimeZoneOffset() {
var dateString = new Date();
var offset = dateString.getTimezoneOffset();
return offset;
}
Вот код C#, который потребляет этот скрипт, который в настоящее время находится в App.razor :

Код: Выделить всё

public async Task CAllJS()
{
var offset = await JSRuntime.InvokeAsync("getTimeZoneOffset");
return offset;
}

public async Task GetUserTimeZone()
{
string jsNumberOfMinutesOffset = await CAllJS(); // sending the above offset
var timeZones = TimeZoneInfo.GetSystemTimeZones();
var numberOfMinutes = Int32.Parse(jsNumberOfMinutesOffset) * (-1);
var timeSpan = TimeSpan.FromMinutes(numberOfMinutes);
var userTimeZone = timeZones.Where(tz => tz.BaseUtcOffset == timeSpan).FirstOrDefault() ?? timeZones.First();

return userTimeZone;
}
Это примерно столько разделения, сколько я могу подумать - вызывающий абонент getUsertimezone () назначает возвратное значение статическому свойству статического класса, поэтому его можно получить в любом месте, где он необходим. Тем не менее, я все еще получаю смещение часового пояса сервера.
Мысли?

Подробнее здесь: https://stackoverflow.com/questions/796 ... server-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»