Проблема часового пояса веб-приложения

Вы пытаетесь получить доступ к ответу ajax до его появления. Код после console.log (urlReg) принадлежит функции readystatechange - но поскольку у вас есть jQuery, ИСПОЛЬЗУЙТЕ его .

var url = "somepage";

function validerBtn() {
  console.log("before");
  $("#loader").show();
  $.getJSON(url, function(data) {
    console.log("after", data);
    // here you need to process the data which is in JSON format assuming the server sends application/json
    $("#loader").hide();
  });
}

5
задан Gulzar Nazim 28 October 2008 в 00:58
поделиться

6 ответов

У меня была та же проблема. Мы продали наше приложение пользователю, который был в другом часовом поясе, чем веб-сервер. Мы не хранили информации времени в UTC, но это на самом деле работало правильно. Время, отображенное в часовом поясе сервера, отображало точно 3 часа позади. Все, что мы должны были сделать, было, добавляет часовой пояс, выпадающий, таким образом, они могли выбрать свой часовой пояс для всего сайта (так как единственные пользователи приложения будут в их часовом поясе). Мы сохранили эту настройку и затем вставили функцию, чтобы взять все дисплеи даты и времени и преобразовать от одного часового пояса до другого использования пространства имен TimeZoneInfo. Это работает отлично.

6
ответ дан 18 December 2019 в 13:20
поделиться

К местному времени будет всегда на стороне сервера преобразовывать в физическое местоположение. У Вас есть несколько опций.

  1. Сохраните значение смещения от UTC до Пользователей, сохраните времена в UTC
  2. Сделайте сторону клиента преобразования через JS (Не изящный, ни соответствующий, По-моему)
  3. Посмотрите на некоторые рекомендации MSDN и пространство имен Часового пояса
3
ответ дан 18 December 2019 в 13:20
поделиться

Я встретился с чем-то вроде этого до использования ASP.NET. Здесь была моя общая методология.

Я отправил JavaScript, чтобы сделать document.write. JavaScript определяет смещение клиента от GMT. Таким образом, можно отправить определенное время и затем позволить JavaScript сделать плюс/минус на нем.

2
ответ дан 18 December 2019 в 13:20
поделиться

Если Вы используете.NET 3.5, и Вы знаете часовой пояс, в котором находится пользователь, TimeZoneInfo является Вашим другом. Если Вы не используете.NET 3.5 существуют некоторые образцы P/Invoke вокруг для получения экземпляров TimeZone, но стоит избежать этого, если у Вас есть доступ к 3,5. (TimeZoneInfo имеет исторические данные и т.д. и обычно является предпочтительным способом пойти.)

Теперь установление, в котором находится часовой пояс Ваши пользователи, является другой проблемой - самый простой способ избежать, чтобы беспорядок дал им опции. (Получение смещения "теперь" только дает Вам ограниченную информацию.)

2
ответ дан 18 December 2019 в 13:20
поделиться

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

Мы нашли самым легким дать набору данных команду не заботиться о часовых поясах, таким образом, времена не изменяются через границы часового пояса...

Мы создали служебный метод (SetAllDateModes), который преобразовывает все поля даты и времени в наборе данных таблицей - вот бизнес-конец (Foreach) и вызов, который устанавливает dateMode:

foreach (DataColumn dc in dt.Columns)
{
  if (dc.DataType == typeof(DateTime))
  {
    dc.DateTimeMode = dateMode;
  }
}
SetAllDateModes(dt, DataSetDateTime.Unspecified);

DateSetDateTime. Неуказанный не включает смещение, таким образом, нет никакого преобразования.

0
ответ дан 18 December 2019 в 13:20
поделиться

Я думал, что общее представление не состояло в том, чтобы локализовать дату и время, пока Вы не представляете его пользователь. Таким образом, если человек не собирается считать его, это остается в UTC, GMT, CUT. Одно дополнительное примечание пользуется библиотекой Date/Time, таким образом, Вы не должны волноваться к очень о проблемах изменения Летнего времени.

0
ответ дан 18 December 2019 в 13:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: