untied
Сдвинутый новичок
Манипуляции со временем (про часовые пояса...)
Работаю над сайтом компании, занимающейся логистикой.
Заказчик хочет, чтобы на сайте можно было посмотреть день и час прибытия того или иного груза в пункт назначения (или промежуточный пункт). Все бы хорошо, но компания немножко международная, и пользователь может смотреть время прибытия, будучи где-нибудь в Штатах или в Японии. Т.е. время должно быть адекватным для пользователя.
Положим, время веб-сервера можно настроить на UTC. В базе создать объект "часовой пояс" и каждому пользователю назначать тот или иной пояс на выбор.
Допустим, объект "часовой пояс" будет хранить разницу в часах и минутах в сравнении с UTC.
Все бы хорошо, стандартных часовых поясов всего 24, разница между ними час. Но по жизни, все не так: в России, к примеру, действует "декретное", а не поясное время, в Индии разница с UTC 5 ч. 30 мин. (что на 30 мин. больше поясного) и т.д. Вариаций множество, короче говоря. В принципе, все вариации можно учесть (напр. добавить для Индии свой отдельный часовой пояс), но тут опять засада -- перевод на зимнее/летнее время, который происходит у всех по-разному, причем без привязки к дате, а более абстрактно (напр. "в последнее воскресенье октября"). А UTC, насколько я понимаю, сезонными переходами времени не страдает.
Как считаете, есть шанс все это хозяйство как-то структурировать в базе? Особенно меня эти абстрактные переходы летнего/зимнего времени напрягают...
Работаю над сайтом компании, занимающейся логистикой.
Заказчик хочет, чтобы на сайте можно было посмотреть день и час прибытия того или иного груза в пункт назначения (или промежуточный пункт). Все бы хорошо, но компания немножко международная, и пользователь может смотреть время прибытия, будучи где-нибудь в Штатах или в Японии. Т.е. время должно быть адекватным для пользователя.
Положим, время веб-сервера можно настроить на UTC. В базе создать объект "часовой пояс" и каждому пользователю назначать тот или иной пояс на выбор.
Допустим, объект "часовой пояс" будет хранить разницу в часах и минутах в сравнении с UTC.
Все бы хорошо, стандартных часовых поясов всего 24, разница между ними час. Но по жизни, все не так: в России, к примеру, действует "декретное", а не поясное время, в Индии разница с UTC 5 ч. 30 мин. (что на 30 мин. больше поясного) и т.д. Вариаций множество, короче говоря. В принципе, все вариации можно учесть (напр. добавить для Индии свой отдельный часовой пояс), но тут опять засада -- перевод на зимнее/летнее время, который происходит у всех по-разному, причем без привязки к дате, а более абстрактно (напр. "в последнее воскресенье октября"). А UTC, насколько я понимаю, сезонными переходами времени не страдает.
Как считаете, есть шанс все это хозяйство как-то структурировать в базе? Особенно меня эти абстрактные переходы летнего/зимнего времени напрягают...
