Хотя довольно сложно ответить на ваш вопрос без ссылки на конкретную технологию, я постараюсь.
Обнаружение часового пояса конечного пользователя
Определенно, вся информация о времени должна быть представлена как в локальном формате , так и местном часовом поясе . Под локальным я имею в виду тот, который используется конечным пользователем.
Я предполагаю, что ваше приложение не потребует создания пользовательских профилей. Я также предполагаю, что расписание рейсов не будет отображаться на первой странице, и пользователю потребуется выполнить поиск. В этом случае у вас есть три варианта:
Позволяет пользователю указать часовой пояс из выпадающего списка. У меня нет способа показать вам, как это сделать, не обращаясь к конкретной технологии. Единственное, на что я должен указать, это представить смещение UTC, название часового пояса и список городов, например: UTC + 01: 00 Центрально-европейское время (Париж, Берлин, Варшава) .
Вы можете прочитать текущее смещение часового пояса с помощью JavaScript и отправить его на сервер
В этом случае вы можете использовать следующий фрагмент кода для определения смещения:
var now = new Date();
var offset = now.getTimezoneOffset();
Это даст вам текущее смещение по Гринвичу в минутах. Проблема с этим решением состоит в том, что это смещение может отличаться на целевую дату.
- Очевидно, что вы также можете отправлять даты в формате GMT в инвариантной форме в браузер (например, в формате ISO8601: 2011-05-25T11: 07Z ) и форматировать эту дату на клиенте с помощью JavaScript. Я никогда не слышал, например, о плагине JQuery, который бы делал это правильно (с учетом локальных форматов). Похоже, вам придется написать свой собственный.
Форматирование даты и времени, а также преобразование часового пояса
Ха, это зависит от решения, которое вы хотите реализовать, а также от технологии, которую вы хотите использовать. Пока я не могу здесь много писать.