Как стать автором
Обновить

Комментарии 16

Зачем при посещении сайта менять часовой пояс?
Не при посещении, а при переезде в местность, где другой часовой пояс.

Зачем? Потому что сайты часто отображают время сообщения. Или какого-либо события. И делают это в соответствии с часовым поясом клиента.
Мне кажется, что людей, для которых время сообщений или событий критически важно, не так уж и много. А если и важно, то не настолько, чтобы изобретать велосипеды. Хотя могу и ошибаться.
Время сообщения не так уж важно, да.
Хотя при переезде на несколько месяцев неуютно везде видеть неправильное время.

Но для сайта типа «Календарь», который предназначен для планирования времени, и посылает напоминания о предстоящих событиях — это важно.

Если часовой пояс в браузере и в настройках пользователя на сервере разные, то на рубеже дней можно получить ситуации типа «Вы пытаетесь ввести трату за день, который ещё не наступил»
Ну и отобразится у вас время сообщения неверно, вы очень расстроитесь? Я считаю, что часовой пояс клиента должен влиять только на отображение, а вся логика должна осуществляться в часовом поясе сервера.
А границу между днями проводить тоже по времени сервера (или тогда уже лучше UTC)?
Но ведь времени клиента не стоит доверять. Если вы выводите блоки «Вчера» и «Сегодня» определяя день по времени клиента, что будет, если клиент выставит время на пару лет вперед? В любом случае, мне кажется, не стоит доверять клиенту.
Для того и делается настройка «Ваш часовой пояс», чтобы такую информацию отдавать вам в выбранном вами часовом поясе, а не в том, который у вас на компьютере установлен.
Но если в настройке «Ваш часовой пояс» одно, а на компьютере другое — то это вносит путаницу.

А если при добавлении записи можно указывать время, и по умолчанию используется текущее.

Если текущее время смотреть на стороне клиента, то будет использовано локальное время. Если запрашивать с сервера, то можно будет использовать время, указанное в профиле, но тогда при выборе времени вручную пользователю нужно будет помнить, что время он должен выбирать не по локальному часовому поясу, а по профильному.
Ну вот, скажем, Хабр показывает все времена по Москве, независимо от часового пояса клиента.
Подход, конечно, спорный, но за несколько лет трудности это вызывало всего раз-другой.
Всё напи придумано до нас. В html5 есть тег time
по аналогии с OpenID или gravatar… Но, судя по достаточно малой распространённости вышеуказанных сервисов

Фигасе малораспространенные сервисы…
где на хабре можно указать таймзону?
На хабре нельзя, о чем уже заметили.

Однако на хабре работы со временем почти нет, разве что дата и время комментариев, хотя и тут было бы удобно учитывать.
Мы раньше на проекте пытались учитывать локальное время посетителя для отображения времени новостей и прочего. Потом забили, никого это особо не волнует, особенно если для дефолтного времени использовать какую-то известную зону, например МСК. К тому же пропадает необходимость обработны разных урлов для ссылок, в которых фигурирует время. У нас ссылки имеют вид /год/месяц/день/урл.хтмл. И вот это самый день часто мог отличаться в разных зонах. А если юзеры пытались обмениваться ссылками, то вообще ад получался. Убрали, используем московское.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории