Я ищу лучшее понимание следующей истории пользователей:Как я могу обрабатывать часовые пояса в моем webapp?
Джон работает в Сиднее. В 9:00 утра он регистрирует событие в веб-приложении, которое выполняется на сервере в Цюрихе. На следующий день он отправляется в Нью-Йорк на экстренное совещание, на котором следует обсудить это событие. Во время встречи он ищет событие по дате и времени.
Как я вижу, есть, по крайней мере, две проблемы:
- Как я должен сохранить временные метки в базе данных
- Как я должен представить их в пользовательском интерфейсе
Когда Джон будет искать событие, он узнает, что это произошло в 9:00, но что он должен войти в веб-браузер? Он ничего не найдет, когда он просто вводит «9:00» в качестве отметки времени, потому что это может быть Цюрих или Нью-Йорк (поскольку событие не было найдено, приложение не имеет никакого способа узнать, что это произошло в Сиднее, поэтому он не может автоматически выбрать правильный часовой пояс).
Что такое хороший способ задать пользователю временную метку, которая может включать часовой пояс?
Вторая проблема заключается в том, как отображать результаты. Если команды со всего мира должны обсудить это событие (и найти связанные события, подумайте об атаке взломщика, которая сразу нацеливается на несколько сайтов по всему миру).
Что является хорошим примером для отображения временных меток, которые могли быть созданы в другом часовом поясе?
Примечание: Пожалуйста, сосредоточьтесь на удобстве использования. Я могу выяснить, что такое база данных. В настоящее время я не уверен в работе. Он должен запросить/представить необходимую информацию неинтрузивным/интуитивным способом. Если можно, укажите ссылку на существующее веб-приложение, которое уже решает это.
Stack Overflow решает это, помещая все в UTC. Не всегда удобно, но это определенно однозначно, не сложно реализовать и работает. – Ryan
UTC заманчиво, но OTOH, SO никогда не нужно синхронизировать события в нескольких часовых поясах. –
Если вы наведете время рядом с комментарием, вы увидите, что stackoverflow хранит время в часовом поясе Zulu. Интересно, используют ли они это для того, чтобы сказать: «Номинации для модератора сообщества заканчиваются в 8 часов вечера 19 июня», и они используют часовой пояс для того, чтобы позволить людям в разных часовых поясах голосовать до их соответствующих 8 PM? –