2010-08-16 3 views
1

я получил this answer от Kjensen и читать ответы, но это другая WebAppКак вы обрабатываете различные часовые пояса на веб-сайте?

Я бегу запланированных событий, которые обрабатывают поступающие заказы, набор Сбор материала, управлять Track & номером трассировки и т.д ... и я это в определенное время суток (установлено в панели администрирования)

Мой сервер находится в Великобритании (DiscountAsp.net), но я на 2 часа вперед.

Что я действительно хотел, каждый раз, когда я звоню DateTime.Now, который будет автоматически изменен на мое время, а не на время локального сервера. Это должно также относиться к летней экономии.

Я думал о создании расширения, чтобы просто позвонить DateTime.MyLocalTime и использовать TimeInfo для добавления/вычитания правильных часов.

В старые добрые времена я делал это в Global.asa (ASP) ... Я просто хотел знать, есть ли лучший способ справиться с этим.

+0

Управление часовыми поясами, сдвиг дат в часовых поясах и переход на летнее время потребовал больше часов и сделал мою жизнь более жалкой, чем почти любая другая проблема. Это становится еще более «забавным», когда данные собираются в одном часовом поясе, хранятся в другом, извлекаются веб-сервером в еще одном часовом поясе и отображаются пользователю в браузере в еще более часовом поясе. Мое сердце принадлежит тебе! :) – mikemanne

ответ

7

Вместо сохранения в конкретный часовой пояс (IST, GMT, EST и т. Д.), Я нахожу довольно хорошей идеей хранить как UTC.

Хранение как UTC просто устраняет проблемы с границами дневного света - дни с 23 часами или 25 часами.

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

Затем выполните арифметику, когда вы сохраняете и извлекаете данные и отображаете их соответствующим образом.

Смежные вопросы