|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
Симонов ДенисДа и не плохо бы знать что за время на сервак запихнули, было ли оно приведено к UTC или пришло как есть. ФБ получает текущее время от сервера (ОС). ОС хранит время в UTC + часовой пояс. "Запихнуть" время на сервер может только клиент, опять же, у него есть свой часовой пояс. Ты теоретизируешь про "мешанину", а я теоретизирую, что время хранится всегда в UTC, а timestamp мы получаем или полностью в UTC, или как локальный с учетом часового пояса клиента. В моем случае часовой пояс сервера не нужен. Если вводить время в UTC, то время без UTC на сервере вообще теряет смысл (и как текущее время, и как тип данных). ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 12:17 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
kdv, сервера ни к чему, а вот время другого клиента может вполне пригодится, который например во Владивостоке. По этой схеме не хранения часового пояса ты получишь только время в своем часовом поясе. А если надо получить его время надо непременно знать, что он во Владивостоке (а потом получать его часовой пояс) или его часовой пояс. Тут и получается что либо придётся сохранять его местоположения либо часовой пояс. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 12:18 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
Симонов Денис, я тут имел ввиду что может потребовать знать сразу два времени. Ибо то что я говорил про текущее время во Владивостоке и так реализовано сейчас. И вот тут надо знать что переводить, а что нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 12:22 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
Симонов Денис, у меня нет "схемы не хранения часового пояса" :-) поэтому в моей схеме по барабану, где сидит какой клиент - время всегда будет в UTC, при желании приведенное к моему часовому поясу (или к другому часовому поясу). Мимопроходящийнадо сделать как у "старших братьев". или соседей http://justatheory.com/computers/databases/postgresql/use-timestamptz.html вполне разумные "настройки", которые позволяют исключить вот этот самый геморрой. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 12:25 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
kdv, у них и типы отдельные для этого есть timestamp [ (p) ] with time zone и time [ (p) ] with time zone. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 12:32 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
коль пошла такая пьянка, заодно придумайте, как обеспечить совместимость :-) По стандарту CURRENT_* функции возвращают UTC. Забивать болт и делать отсебятину или ломать все? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 12:39 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
dimitr, ну один раз уже такое было, когда поведение типов менялось. Тогда 3 диалект добавили. Хотя мне это решение не нравится. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 12:44 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
dimitrЗабивать болт и делать отсебятину или ломать все? /me голосует за "всё ломать". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 12:56 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
Симонов Денису них и типы отдельные для этого есть timestamp [ (p) ] with time zone и time [ (p) ] with time zone. да. так речь о том, чтобы их сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 12:56 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
kdv, ну так получается что мы об одном и том же говорим. Ибо как раз это и есть по стандарту ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 12:58 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
kdvречь о том, чтобы их сделать. Причём их не надо делать на сервере. Это чисто клиентские типы для преобразования на клиенте. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 13:01 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovПричём их не надо делать на сервере. Это чисто клиентские типы для преобразования на клиенте. это тебе где такое приснилось? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 13:03 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
dimitrколь пошла такая пьянка, заодно придумайте, как обеспечить совместимость :-) По стандарту CURRENT_* функции возвращают UTC. Забивать болт и делать отсебятину или ломать все? Если "ломать все" подразумевает "делать как у других/по стандарту", то я за "ломать". ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 14:07 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
miwaonline, нет уж. Режим совместимости надо обеспечивать. Пусть и через новый диалект и с геморроем при переходе. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 14:20 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
dimitrэто тебе где такое приснилось? А какой смысл от них на сервере? Вон, у соседей с этими типами явно связано мнение, что "не надо их использовать, геморроя много толку мало". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 14:27 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
Hello, Симонов Денис! You wrote on 1 июня 2015 г. 14:28:04: Симонов Денис> нет уж. Режим совместимости надо обеспечивать. Пусть и через новый > диалект и с геморроем при переходе.не нужно плодить сцущности. достаточно параметра в конфиге. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 14:28 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
Если время на сервере хранить в UTC без тайм-зоны, то получится что владивостокские (UTC+10) 01.01.2016 09:00 равны серверному 31.12.2015 23:00. Как выбрать документы за 1 января по владивостокскому времени? И что вернёт CURRENT_DATE для этого владивостокского времени? Т.е. вопрос как соотнести timestamp с date, если сервер считает сутки по лондонскому времени. Имхо сервер должен знать где у него граница между сутками. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 14:56 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
kdvПричем, все это означает, что часовой пояс клиента - это не просто "часовой пояс У клиента", а именно часовой пояс, который клиент сообщает серверу для получения TIMESTAMP в его локальном времени. Причем можно даже и не сообщать, перекладывая преобразование/отображение на клиента. kdvНапример, текущий CURRENT_TIMESTAMP предполагает, что часовой пояс клиента и сервера идентичен. И различия этих часовых поясов порождает проблемы. Но если у нас есть UTC, и у меня сервер в UK, а я сижу в Москве, и знаю свой часовой пояс, зачем мне локальное время сервера? Придумай пример :-) ++ dimitrколь пошла такая пьянка, заодно придумайте, как обеспечить совместимость :-) По стандарту CURRENT_* функции возвращают UTC. Забивать болт и делать отсебятину или ломать все? Стандарт есть Истина, к коей стремиться надобно. Вопрос только, каких размеров гемор будет с таким breaking change. Еще один диалект - муторно, тут первый-то постоянно всплывает. Хотя сейчас есть отличная возможность приурочить всё это к трёшке, пока она еще не закаменела в релизе. Если время на сервере хранить в UTC без тайм-зоны, то получится что владивостокские (UTC+10) 01.01.2016 09:00 равны серверному 31.12.2015 23:00. Как выбрать документы за 1 января по владивостокскому времени? И что вернёт CURRENT_DATE для этого владивостокского времени? Вариант совсем без таймзоны вроде как и не рассматривается, хотя приведенный пример как раз не сильно сложен в случае типа TIMESTAMP: принудительно переводить полученные от клиента TIMESTAMP из его часового пояса (заданного заранее) в UTC. Проблемы начнутся при использовании типа DATE. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 15:52 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
Fr0sT-Brutaldimitrколь пошла такая пьянка, заодно придумайте, как обеспечить совместимость :-) По стандарту CURRENT_* функции возвращают UTC. Забивать болт и делать отсебятину или ломать все? Стандарт есть Истина, к коей стремиться надобно. Вопрос только, каких размеров гемор будет с таким breaking change. Еще один диалект - муторно, тут первый-то постоянно всплывает. Хотя сейчас есть отличная возможность приурочить всё это к трёшке, пока она еще не закаменела в релизе. поздно. Список фич для трёшки заморожен. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 15:57 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
Fr0sT-BrutalПроблемы начнутся при использовании типа DATE. Они начнутся ещё раньше, когда с этой бедой начнут работать пользователи на ОСях разной степени пропатченности и самыми дикими настройками, какие в голову взбредут. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 16:00 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
Рекомендации для Постгреса, кстати, довольно толковые. И вообще, неплохая реализация сабжа без breaking change. Dimitry SibiryakovОни начнутся ещё раньше, когда с этой бедой начнут работать пользователи на ОСях разной степени пропатченности и самыми дикими настройками, какие в голову взбредут. Например? Мне кажется, как раз за счет подтягивания пояса с клиента результаты могут хоть и плавать на определенную константу, но все же получить осмысленные данные при выборке between '2000-01-01 00:00:00, GMT+8.32' and '2000-01-01 01:00:00, GMT+8.32' больше, чем при between '2000-01-01 00:00:00' and '2000-01-01 01:00:00', если у клиента GMT+8.32 (мало ли какая страна так выпендрится), у сервера GMT+3, а у заполнявшего клиента GMT-9. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 16:12 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
Т.е. мой поинт в том, что если вовлечены дико настроенные ОСи странной пропатченности - с ними и сейчас правильные результаты едва ли получишь. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 16:14 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
Fr0sT-Brutalмой поинт в том, что если вовлечены дико настроенные ОСи странной пропатченности - с ними и сейчас правильные результаты едва ли получишь. Сейчас-то проблем нет: сказал клиент "12:00", сервер выдаёт данные на "12:00". А вот при учёте часового пояса, который может быть выставлен неверно или без учёта смены летнего времени ты получишь данные на "13:00" или "11:00" очень даже легко. Возьмём последний случай: на сервере, где крутится трекер, было выставлено американское время, но часовой пояс UTC. В результате все считали, что он на 10 часов в будущем. Предпоследний случай: пропатченная винда для Москвы имеет пояс GMT+3, непропатченная GMT+4. Будет забавно, если с двух соседних компьютеров запрос будет выдавать разные данные? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 16:25 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovПредпоследний случай: пропатченная винда для Москвы имеет пояс GMT+3, непропатченная GMT+4. это не только винды касается, но и старых андроидов, которые не знают про эту особенность. Приходится ставить таймзону для другого местоположения. Однако, даже в твоем случае "для Москвы", при разном времени на компах с ГМТ+3 и ГМТ+4 переданное с клиента время с учетом гмт будет одинаковым. Я почему и привел пост с вариантом для PostgreSQL, что там даны рекомендации о том, как избежать подобного головняка - не иметь дела с не-UTC типами времени, и иметь на клиенте обязательно GMT. Ну и не получать с сервера время не в UTC. Или получать, но с учетом таймзоны клиента Dimitry SibiryakovА вот при учёте часового пояса, который может быть выставлен неверно или без учёта смены летнего времени ты получишь данные на "13:00" или "11:00" очень даже легко. не очень я понял. Допустим, у меня 2 компа. 1 - время 12:00, UTC+3 2 - время 13:00, UTC+4 в UTC на этих компах время одинаковое (12-3 = 9, 13-4=9). если я хочу найти что-то на это время, мне надо - или искать 9:00 UTC+0 на любом из компов - или искать 12:00 UTC+3 на компе 1 - или искать 13:00 UTC+4 на компе 2 то есть, или свое время + свое UTC, или время в UTC с нулевой таймзоной. Просто искать 12:00 без указания таймзоны я не имею права, ибо действительно будет вранье. Но "сдвиг" у компов не имеет значения, с тем же успехом они могут существовать в действительно разных таймзонах. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 16:42 |
|
Текущее время с сервера
|
|||
---|---|---|---|
#18+
Fr0sT-BrutalПроблемы начнутся при использовании типа DATE.Если приводить DATE к TIMESTAMP ставя 12:00 в поле времени - не начнутся. Как максимум - часовая разбежка при некорректном учёте перехода на зимнее-летнее время. P.S. Клинические случаи "правильное местное время при неправильном часовом поясе" не рассматриваем. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 16:43 |
|
|
start [/forum/topic.php?fid=40&msg=38973170&tid=1562795]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 282ms |
total: | 427ms |
0 / 0 |