powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Текущее время с сервера
25 сообщений из 101, страница 2 из 5
Текущее время с сервера
    #38973126
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисДа и не плохо бы знать что за время на сервак запихнули, было ли оно приведено к UTC или пришло как есть.
ФБ получает текущее время от сервера (ОС). ОС хранит время в UTC + часовой пояс. "Запихнуть" время на сервер может только клиент, опять же, у него есть свой часовой пояс.
Ты теоретизируешь про "мешанину", а я теоретизирую, что время хранится всегда в UTC, а timestamp мы получаем или полностью в UTC, или как локальный с учетом часового пояса клиента. В моем случае часовой пояс сервера не нужен.
Если вводить время в UTC, то время без UTC на сервере вообще теряет смысл (и как текущее время, и как тип данных).
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973127
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

сервера ни к чему, а вот время другого клиента может вполне пригодится, который например во Владивостоке. По этой схеме не хранения часового пояса ты получишь только время в своем часовом поясе. А если надо получить его время надо непременно знать, что он во Владивостоке (а потом получать его часовой пояс) или его часовой пояс. Тут и получается что либо придётся сохранять его местоположения либо часовой пояс.
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973137
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

я тут имел ввиду что может потребовать знать сразу два времени. Ибо то что я говорил про текущее время во Владивостоке и так реализовано сейчас. И вот тут надо знать что переводить, а что нет.
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973141
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

у меня нет "схемы не хранения часового пояса" :-) поэтому в моей схеме по барабану, где сидит какой клиент - время всегда будет в UTC, при желании приведенное к моему часовому поясу (или к другому часовому поясу).

Мимопроходящийнадо сделать как у "старших братьев".
или соседей

http://justatheory.com/computers/databases/postgresql/use-timestamptz.html

вполне разумные "настройки", которые позволяют исключить вот этот самый геморрой.
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973148
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

у них и типы отдельные для этого есть timestamp [ (p) ] with time zone и time [ (p) ] with time zone.
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973159
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
коль пошла такая пьянка, заодно придумайте, как обеспечить совместимость :-) По стандарту CURRENT_* функции возвращают UTC. Забивать болт и делать отсебятину или ломать все?
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973170
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,

ну один раз уже такое было, когда поведение типов менялось. Тогда 3 диалект добавили. Хотя мне это решение не нравится.
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973185
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrЗабивать болт и делать отсебятину или ломать все?
/me голосует за "всё ломать".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973186
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денису них и типы отдельные для этого есть timestamp [ (p) ] with time zone и time [ (p) ] with time zone.
да. так речь о том, чтобы их сделать.
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973188
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

ну так получается что мы об одном и том же говорим. Ибо как раз это и есть по стандарту
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973193
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvречь о том, чтобы их сделать.
Причём их не надо делать на сервере. Это чисто клиентские типы для преобразования на клиенте.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973198
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovПричём их не надо делать на сервере. Это чисто клиентские типы для преобразования на клиенте.
это тебе где такое приснилось?
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973304
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrколь пошла такая пьянка, заодно придумайте, как обеспечить совместимость :-) По стандарту CURRENT_* функции возвращают UTC. Забивать болт и делать отсебятину или ломать все?
Если "ломать все" подразумевает "делать как у других/по стандарту", то я за "ломать".
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973323
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonline,

нет уж. Режим совместимости надо обеспечивать. Пусть и через новый диалект и с геморроем при переходе.
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973331
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrэто тебе где такое приснилось?
А какой смысл от них на сервере? Вон, у соседей с этими типами явно связано мнение, что
"не надо их использовать, геморроя много толку мало".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973333
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Симонов Денис!
You wrote on 1 июня 2015 г. 14:28:04:

Симонов Денис> нет уж. Режим совместимости надо обеспечивать. Пусть и через новый
> диалект и с геморроем при переходе.не нужно плодить сцущности.
достаточно параметра в конфиге.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973377
-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
-
Гость
Если время на сервере хранить в UTC без тайм-зоны, то получится что владивостокские (UTC+10) 01.01.2016 09:00 равны серверному 31.12.2015 23:00.
Как выбрать документы за 1 января по владивостокскому времени? И что вернёт CURRENT_DATE для этого владивостокского времени?
Т.е. вопрос как соотнести timestamp с date, если сервер считает сутки по лондонскому времени.

Имхо сервер должен знать где у него граница между сутками.
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973442
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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.
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973450
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutaldimitrколь пошла такая пьянка, заодно придумайте, как обеспечить совместимость :-) По стандарту CURRENT_* функции возвращают UTC. Забивать болт и делать отсебятину или ломать все?
Стандарт есть Истина, к коей стремиться надобно. Вопрос только, каких размеров гемор будет с таким breaking change. Еще один диалект - муторно, тут первый-то постоянно всплывает. Хотя сейчас есть отличная возможность приурочить всё это к трёшке, пока она еще не закаменела в релизе.


поздно. Список фич для трёшки заморожен.
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973459
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-BrutalПроблемы начнутся при использовании типа DATE.
Они начнутся ещё раньше, когда с этой бедой начнут работать пользователи на ОСях разной
степени пропатченности и самыми дикими настройками, какие в голову взбредут.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973483
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Рекомендации для Постгреса, кстати, довольно толковые. И вообще, неплохая реализация сабжа без 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.
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973486
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. мой поинт в том, что если вовлечены дико настроенные ОСи странной пропатченности - с ними и сейчас правильные результаты едва ли получишь.
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973496
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutalмой поинт в том, что если вовлечены дико настроенные ОСи странной
пропатченности - с ними и сейчас правильные результаты едва ли получишь.
Сейчас-то проблем нет: сказал клиент "12:00", сервер выдаёт данные на "12:00". А вот при
учёте часового пояса, который может быть выставлен неверно или без учёта смены летнего
времени ты получишь данные на "13:00" или "11:00" очень даже легко.

Возьмём последний случай: на сервере, где крутится трекер, было выставлено американское
время, но часовой пояс UTC. В результате все считали, что он на 10 часов в будущем.
Предпоследний случай: пропатченная винда для Москвы имеет пояс GMT+3, непропатченная
GMT+4. Будет забавно, если с двух соседних компьютеров запрос будет выдавать разные данные?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973517
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 без указания таймзоны я не имею права, ибо действительно будет вранье. Но "сдвиг" у компов не имеет значения, с тем же успехом они могут существовать в действительно разных таймзонах.
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973518
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-BrutalПроблемы начнутся при использовании типа DATE.Если приводить DATE к TIMESTAMP ставя 12:00 в поле времени - не начнутся. Как максимум - часовая разбежка при некорректном учёте перехода на зимнее-летнее время.

P.S. Клинические случаи "правильное местное время при неправильном часовом поясе" не рассматриваем.
...
Рейтинг: 0 / 0
25 сообщений из 101, страница 2 из 5
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Текущее время с сервера
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]