Отображение информации о времени и часовом поясе для пользователя (что, а не как) - PullRequest
7 голосов
/ 08 ноября 2008

(Это вопрос об интерфейсе пользователя, а не о технологии, необходимой для этого)

Как проще всего отобразить пользователю время для событий, происходящих в разных часовых поясах? Ваш «средний» пользователь понимает UTC и часовые пояса?

Мы фиксируем местное время и смещение UTC и сохраняем его в базе данных (SQL 2008 DateTimeOffset) для событий, происходящих в разных часовых поясах. Пользователи также находятся в разных часовых поясах.

Я предложу пару ответов ниже, чтобы их можно было оценить, но я буду признателен за альтернативные предложения.

РЕДАКТИРОВАТЬ: я хотел бы избежать отображения времени в часовом поясе пользователя. Пользователи в разных часовых поясах будут обсуждать одни и те же события, и если они локальны для разных часовых поясов, возникнет путаница.

РЕДАКТИРОВАТЬ: Я хотел сделать вопрос общим и, надеюсь, полезным для большего числа людей, но для некоторого конкретного контекста это веб-приложение для отслеживания посылок (например, FedEx). Посылки будут пересекать часовые пояса. Служба поддержки находится в Великобритании, но получатель может быть в другом месте.

Ответы [ 13 ]

0 голосов
/ 08 ноября 2008

Лучшее, что нужно сделать, это сохранить всю информацию о дате / времени в UTC, а затем отобразить смещение времени по отношению к времени пользователя. .NET имеет все виды поддержки для этого - большинство других сред делают то же самое. кто-то, вводящий данные в Лондоне в 7:00, должен показывать как 1:00 или 2:00 ПО ВОСТОЧНОМУ ВРЕМЕНИ. Самое приятное в UTC - это то, что он избегает всех неприятных вещей с летним временем или отсутствием таковых, когда вы находитесь в местах, где его нет, например. Корея, Индия против новых компенсаций для Северной Америки.

Мне нравится 24-часовое время, например, 15:30 EDT, но я уверен, что есть те, которые работают в 12-часовом режиме. сделайте это опцией наверняка.

0 голосов
/ 08 ноября 2008

Это ужасно контекстно-зависимая ситуация. Я хотел бы основываться на предложениях Postos и Tvanfosson. Я не думаю, что названия городов и стран нужны только для того, чтобы помочь людям установить свое местное время и, возможно, в диалоге для установки времени, которое может быть для других мест, когда они знают только желаемое местное время (большая проблема, чтобы не перегружать / отвлекать пользователи с тем, что мешает им).

Если местоположение связано со временем, тогда дата и время в этом месте часто являются подходящими (например, когда речь идет о закрытии рынка, событиях, прибытиях и отъездах поездок и т. Д.). Я предпочитаю идею, что имеется подсказка для перевода ее в (1) gmt и (2) очевидное местное время пользователя, который видит интерфейс. Смещения также полезны, а также дата, когда задействованы переходы в полночь.

Я также согласен с тем, что часовой пояс должен быть явным признаком того, что это может быть не местное время. Кроме того, даже когда местное время отображается без часового пояса, я думаю, что подсказка все еще важна. (Особенно, если кто-то, путешествующий с ноутбуком, может сохранить настройку часового пояса своей домашней базы.)

Дополнительное внимание к деталям: работа со сменами времени для летнего времени, летнего времени и т. Д., А также их различие между местами (не каждое место имеет летнее время, не каждое место делает изменения одновременно) и между время (особенно в будущее).

0 голосов
/ 08 ноября 2008

Всегда отображать время в UTC

NB. Я не согласен с этим. Я просто добавил его в качестве опции для голосования.

...