powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Текущее время с сервера
25 сообщений из 101, страница 1 из 5
Текущее время с сервера
    #38944679
delphi_begin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Помогите!

Сервер Firebird 2.5

Есть триггер на таблицу, который списывает в поле NEW.TIME_OF_CREATION=CURRENT_TIME;

Но при вставке записи в таблицу туда попадает время, большее, чем на сервере на 1 час!

Проверял время через CMD ->echo %time% - время верное. Только через сервер.

Скажите, может быть, где то в настройках FB как-то указывается часовой пояс или еще что-то влияющее на обработку текущего время сервера?? Спасибо
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38944681
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перезапусти Firebird. И не меняй часовой пояс на ходу.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38944704
delphi_begin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Админ только что признался, что менял сегодня часовой пояс. Спасибо, Шерлок)

Там сейчас работает много пользователей. Есть ли какая то возможность исправить это без перезапуска?
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38944711
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
delphi_beginЕсть ли какая то возможность исправить это без перезапуска?
Нет. Можешь высказать за это своё "фи" мелкомягким чудикам, которые насмерть кэшируют
TZOffset в своей RTL.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38944714
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
delphi_begin,

Ну пиши в триггере через

Код: plsql
1.
dateadd(-1 hour to current_time)



Хотя лучше перегрузить... Или не забыть исправить после перезагрузки...
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38944723
delphi_begin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Спасибо, но это будет слишком дерзко со стороны пиратов)
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38944725
delphi_begin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMaster,

Да, ребутнем, спасибо!
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38944732
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
delphi_beginэто будет слишком дерзко со стороны пиратов)
Под Линухом такой фигни вроде бы не наблюдается.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38944796
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наш поставщик обмена EDI незаметно переехал с датацентра в Польше ещё куда-то, в соседний часовой пояс.
Переезд прошёл "незамеченным" для пользователей, вот только внезапно время всех объектов в базе сдвинулось на час.
Из-за чего робот решил, что все документы были обновлены (ведь время изменилось).
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38968945
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имхо, жирнейший довод все таймстампы получать и хранить в UTC
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38968956
Поручик ·· Ржевский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-BrutalИмхо, жирнейший довод все таймстампы получать и хранить в UTCNLS то всё одно отсутствует
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38969059
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поручик ·· РжевскийFr0sT-BrutalИмхо, жирнейший довод все таймстампы получать и хранить в UTCNLS то всё одно отсутствует
Не очень понял, что ты имеешь под NLS, но если есть возможность полностью убрать timezone hell - глупо ею не воспользоваться. Не знаю, каким надо быть мазохистом, чтобы лавировать в этом безумии постоянных смен смещений и режимов DST.
P.S. Где проголосовать за CURRENT_UTCTIMESTAMP?
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38969154
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-BrutalГде проголосовать за CURRENT_UTCTIMESTAMP?
во-первых, не за UTCTIMESTAMP, а TIMESTAMP_UTC. А во-вторых, по уму нужен специальный тип данных.
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38969166
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvFr0sT-BrutalГде проголосовать за CURRENT_UTCTIMESTAMP?
во-первых, не за UTCTIMESTAMP, а TIMESTAMP_UTC.
Как мне кажется, ты про тип, а я про сист. переменную. Если не так, то двойное подчеркивание не очень красиво смотрится, но не суть.
Ну а тип это хорошо, но решение будет нестандартным, плюс породит целую кучу проблем вроде "как мне перегнать это время в мое локальное", "как мне сравнить два локальных времени на сервере" и прочее.
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38969168
Поручик ·· Ржевский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я и говорю - без полноценного введения NLS, нефиг даже тужиться
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38969231
-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
-
Гость
Корректную работу с UTC, в принципе, можно реализовать самому. Определить домен, создать 2 функции для перевода в локальное время и обратно (причём для каждой базы можно гибко задавать часовой пояс (например через переменную БД), если вдруг база на хостинге). Работы на несколько часов.

Для FB конечно перспективней если в нём будет встроенная реализация.
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38969242
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Работы на несколько часов.
А подключить стандартную UDf GetExactTimestampUTC - работы на несколько секунд.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38969286
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-BrutalКак мне кажется, ты про тип, а я про сист. переменную.
я про стиль именования. CURRENT_UTCTIMESTAMP - это запредельный звездец. А CURRENT_TIMESTAMP_UTC - это прекрасно читаемое имя, особенно уже при наличии CURRENT_TIMESTAMP. Если тебя корежит от двух подчеркиваний, то почему не корежит от одного?
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38972978
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvCURRENT_UTCTIMESTAMP - это запредельный звездец.
Дело вкуса...
А CURRENT_TIMESTAMP_UTC - это прекрасно читаемое имя, особенно уже при наличии CURRENT_TIMESTAMP. Если тебя корежит от двух подчеркиваний, то почему не корежит от одного?
Единственное, что смущает - вроде бы больше идентификаторов с двумя _ нет.
Корректную работу с UTC, в принципе, можно реализовать самому. Определить домен, создать 2 функции для перевода в локальное время и обратно (причём для каждой базы можно гибко задавать часовой пояс (например через переменную БД), если вдруг база на хостинге). Работы на несколько часов.
По-хорошему, часовой пояс - это свойство клиента, а не базы.
Я и говорю - без полноценного введения NLS, нефиг даже тужиться
А еще лучше - без светлого будущего во всем мире нефиг тужиться, а то пашешь-пашешь, а потом вдруг апокалипсец! И все усилия насмарку.
В идеале дата должна быть жестко задана в инвариантном UTC + опциональный часовой сдвиг, д.б. полный набор функций для работы как с абсолютным, так и локальным значением не только в SQL, но также и на клиентах. Но слона надо есть по кускам.
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38972991
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-BrutalПо-хорошему, часовой пояс - это свойство клиента, а не базы.
это не исключает времени в UTC, про которое ты сам сказал дальше.

я приведу простейший пример, который иллюстрируется гулго-календарем:
- перелет из локального часового пояса в другой часовой пояс.
мы имеем:
1. локальное время клиента (то, где он находится)
2. время вылета с указанием часового пояса
3. время прилета с указанием часового пояса

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

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

если в БД время хранится в UTC, то часовой пояс сервера не нужно знать, чтобы "добавлять" что-то там к клиенту. Я же пример с гуглокалендарем не зря привел. Гуглокалендарь приводит время к локальному именно относительно клиента. Свое время или таймзона ему ни к чему совершенно.
А вот в ФБ "текущее время сервера" достаточно в UTC, и оно может быть преобразовано к локальному времени клиента, если клиент серверу перешлет свою timezone.

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

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

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

Если определён отдельный тип данных то клиент FB сам поймёт надо ли преобразовывать время или оставить как есть без вызова дополнительных функций.
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973119
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисто по идее надо сделать и контекстную переменную возвращающую текущий часовой пояс сервера
с этим не спорю, но как я уже сказал, я не смог придумать использование такой фичи. В контексте "UTC+часовой пояс клиента" это было бы совершенно бесполезной информацией.
Например, текущий CURRENT_TIMESTAMP предполагает, что часовой пояс клиента и сервера идентичен. И различия этих часовых поясов порождает проблемы. Но если у нас есть UTC, и у меня сервер в UK, а я сижу в Москве, и знаю свой часовой пояс, зачем мне локальное время сервера? Придумай пример :-)
...
Рейтинг: 0 / 0
Текущее время с сервера
    #38973122
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не надо ничего придумывать.
надо сделать как у "старших братьев".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 101, страница 1 из 5
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Текущее время с сервера
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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