LINUX.ORG.RU

Локальное время

 


0

1

Добавляю поддержку показа времен на сайте в локальной таймзоне. Время будет показываться в часовом поясе браузера, а не по Москве.

То, в какой таймзоне показываются времена можно увидеть в подписях к новостям на главной, и в других местах где дата показывается в длинном формате.

Пока что эта функция включена только для 5*, позже будет включена для всех пользователей. Просьба к тем кто живет не по московскому времени дать обратную связь и написать об обнаруженных проблемах.

Обновление: Включено для всех.

★★★★★

Последнее исправление: maxcom (всего исправлений: 5)
Ответ на: комментарий от untitl3d

Для vpn, особенно с рандомным выбором стран, огонь! =|

IP адрес на это никак не влияет, таймзона извлекается из браузера javascript’ом.

maxcom ★★★★★
() автор топика
Ответ на: комментарий от untitl3d

Я думаю у большинства тут js зарезан.

Это не так.

maxcom ★★★★★
() автор топика

Добавил бы просто выбор в профиле, зачем с js заморачиваться?

cocucka ★★★★☆
()

Время будет показываться в часовом поясе браузера, а не по Москве.

И двадцати лет не прошло. Или прошло?

ox55ff ★★★★★
()

У меня нормально работает. Спасибо.
Единственное, зона в конце глаза режет, я бы ее убрал после отладки.

urxvt ★★★★★
()
Ответ на: комментарий от firkax

Видимо, я просто не обращал внимания. :)

urxvt ★★★★★
()

04.11.22 10:18:39 EDT

Похоже на правду.

frob ★★★★★
()

Актуалочка, однако.

intelfx ★★★★★
()

04.11.22 20:37:20 MSK

говно какое-то, а не время. мало того, что формат даты ублюдский, так теперь еще и время испортили((( вот нафига нужно это "мск", торчащее после каждого поста?
сделай настройку в профиле, чтобы если кому надо - могли включить показ даты с поправкой на свой часовой пояс, а остальным (и незалогиненным) пусть показывает обычное время, как на сервере (мацковское, видимо?)

<time data-format="default" datetime="2022-11-04T17:18:39.321+03:00"

можно, конечно, из этого вытащить нормальное время. "T" на пробел заменить, после точки все выкинуть, формат даты, к счастью, уже человеческий. видимо, придется костылять юзерскрипт, хотя бы ради нормальных дат((

таймзона извлекается из браузера javascript’ом

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

ЗЫ: какая вообще разница, когда и во сколько точно написано сообщение? я бы сказал, что таймстампы вообще не нужны, но из-за местной специфики ("ответ на сообщение от 16:23:41" вместо человеческого цитирования) таки приходится иногда искать именно по времени, чтобы понять, кто кому и про что пишет

Да и секундная точность тут вряд ли нужна.
2022-11-04T17:18:39.321+03:00
17:18:39.321

миллисекундная!
да и как это "вряд ли нужна"? а постить фигню в 12:34:56? или 01.01 в 00:00:00? или 01.02.03 в 04:05:06? не?

PerdunJamesBond
()

04.11.2022 21:18:39 +07:00

Вроде везде правильно отображается.

kardapoltsev ★★★★★
()
Ответ на: комментарий от ritsufag

Можно ещё и относительное время выводить аля «пять минут назад».

Уже было несколько лет назад, когда Java перешла на такой формат по умолчанию. Быстро исправили.

question4 ★★★★★
()
Ответ на: комментарий от DiMoN

Спасибо что сообщил, поправлю.

maxcom ★★★★★
() автор топика
Ответ на: комментарий от DiMoN

Поправил обработку ошибок, теперь при получении неизвестной таймзоны не будет ошибки 500, останется московское время.

В плане поддержки «Europe/Kiev» думаю просто подождать очередного обновления таймзон, рано или поздно оно заработает само. Хотя можно, наверное, и костыль воткнуть чтобы оно внутри брало старый вариант в этом случае.

maxcom ★★★★★
() автор топика
Ответ на: комментарий от question4

Уже было несколько лет назад, когда Java перешла на такой формат по умолчанию. Быстро исправили.

Не знал что в жаве всё так плохо с обратной совместимостью.

ritsufag ★★★★★
()
Ответ на: комментарий от maxcom

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

R_He_Po6oT ★★★★★
()
Ответ на: комментарий от R_He_Po6oT

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

Вместо того чтобы менять настройки виждету, поменяй настройки в системе.

maxcom ★★★★★
() автор топика
Ответ на: комментарий от R_He_Po6oT

Надо тупо в профиле выбор сделать и все, а не городить огород.

cocucka ★★★★☆
()
Ответ на: комментарий от R_He_Po6oT

Да, но никто же этого не будет делать. Я об этом.

Ну да, один раз в системе конечно сложно поменять. Будем менять в виджете часов и в настройках 10 сайтов.

maxcom ★★★★★
() автор топика
Последнее исправление: maxcom (всего исправлений: 1)
Ответ на: комментарий от timdorohin

А выполни вот такую команду в консоли браузера и покажи результат:

Intl.DateTimeFormat().resolvedOptions().timeZone
maxcom ★★★★★
() автор топика

Блин, не надо так. Сделайте для регистрантов выбор таймзоны в профиле, а анонимусам показывайте дефолт. У меня, например, таймзона браузером отправляется рандомная по умолчанию, ибо нефиг. А на сайтах, где я хочу видеть не рандомную, обычно это выбирается в профиле.

CrX ★★★★★
()
Ответ на: комментарий от maxcom

UTC

но UTC – не таймзона

GMT – название таймзоны UTC+0

UTC это точка отсчёта и ее следует воспринимать так и никак иначе, если у кого-то стоит UTC – считай что у него не выставлена таймзона/он не хочет её говорить и ставь дефолтную.

timdorohin ★★★★
()
Ответ на: комментарий от CrX

У меня, например, таймзона браузером отправляется рандомная по умолчанию, ибо нефиг

Если ты извращенец, это твои проблемы, а не разработчиков сайтов

nebularia ★★★
()
Ответ на: комментарий от nebularia

Если ты извращенец, это твои проблемы, а не разработчиков сайтов

Только вот ни на одном другом сайте никаких проблем нет, потому что сделано нормально (и обычно без всякого JS). Проблемы-то, конечно, мои, но зачем разработчику сайта специально создавать юзерам проблемы, особенно если всё прекрасно работало до этого?

CrX ★★★★★
()
Ответ на: комментарий от maxcom

В плане поддержки «Europe/Kiev» думаю просто подождать очередного обновления таймзон, рано или поздно оно заработает само.

=)

Может все-таки сделать настройки в профиле а остальным показывать в MSK.

ex-kiev
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.