После пересылки базы у получателя сдвигается поле даты-времени на 2 часа

Автор dndn, 1 февраля 2015, 15:51

0 Пользователи и 1 гость просматривают эту тему.

dndn

В базе имеется поле типа "Дата/Время" [timestamp].
Сбрасываю базу коллеге, проживающему в другом часовом поясе. Он получает базу и у него в этом поле стоит значение на 2 часа больше, чем стояло у меня.  >:(
Как такое может быть и можно ли это как-то пофиксить?  ???
База данных встроенная HSQLDB. OpenOffice 4.1.1.

,,,

Цитироватьпроживающему в другом часовом поясе

А его часовой пояс случайно не на два часа отличается от вашего? По вашему, откуда программа берет данные о  текущей дате и времени? Случайно не из операционной системы пользователя?
Блог про LibreOffice: Советы, трюки, хитрости, инструкции, руководства
http://librerussia.blogspot.ru

rami

Цитата: Dmitry M. от  1 февраля 2015, 14:57А его часовой пояс случайно не на два часа отличается от вашего? По вашему, откуда программа берет данные о  текущей дате и времени? Случайно не из операционной системы пользователя?
Чисто случайно у него другой часовой пояс ;D
Данные в базе не должны изменяться, если это происходит, значит скорей всего есть пересчёт с привязкой к событию

dndn

Мы и раньше базами обменивались, при чем адресат говорит, что раньше такого не было.
В программе изменения вносятся регулярно, но ума не могу приложить - что там такого произошло, что времена стали меняться?
Поле даты-времени заносится программно, но оно берется из текстового файла, который одинаков что для меня, что для него.
Ну даже если региональные настройки у нас разные, то время, забитое в таблице базы, не может же после пересылки и открытии формы пересчитаться - такой функции в программе нет!  >:(

,,,

Блог про LibreOffice: Советы, трюки, хитрости, инструкции, руководства
http://librerussia.blogspot.ru

rami

Dmitry M. проблема не в файле, а в Офисе.
Создайте таблицу с помощью кода:CREATE TABLE "A"( "ID"  INTEGER IDENTITY PRIMARY KEY, "ДатаВремя" TIMESTAMP DEFAULT CURRENT_TIMESTAMP, "Время" TIME DEFAULT CURRENT_TIME, "Код" VARCHAR(99));
В столбце "Код" запишите что-нибудь, в столбцах "ДатаВремя" и "Время" автоматом появится текущая дата и время. Закройте базу и смените часовой пояс, откройте базу и  :o время в базе изменится в соответствии с новым системным.
Обратите внимание (на снимках) на время в таблице и системное в правом верхнем углу.

,,,

ЦитироватьДанные в базе не должны изменяться, если это происходит, значит скорей всего есть пересчёт с привязкой к событию

Про вот это подробнее можно?
Блог про LibreOffice: Советы, трюки, хитрости, инструкции, руководства
http://librerussia.blogspot.ru

rami

Цитата: Dmitry M. от  1 февраля 2015, 19:50Про вот это подробнее можно?
Я имел ввиду, что если макрос с UPDATE повесить на событие, то когда случится событие макрос изменит соответствующие данные в таблице. Но то, о чём идёт речь с макросами не связано.

dndn

Цитата: Dmitry M. от  1 февраля 2015, 19:13
В таких случаях принято прикладывать файл с проблемой.
Цитата: Dmitry M. от  1 февраля 2015, 19:13
В таких случаях принято прикладывать файл с проблемой.
Вот файл БД с проблемой: таблица "matches", поле "mdate".
Если проскролить вниз таблицы, то у меня вот такая картинка.
А что у вас? Пояса я смотрю у меня с вами тоже должны быть разными.
Парадоксально, но когда он мою таблицу подправлял и высылал обратно, то времена снова смещались, в обратную сторону.

rami

Цитата: dndn от  4 февраля 2015, 05:20А что у вас? Пояса я смотрю у меня с вами тоже должны быть разными.
Уменя пояс GMT+2.
В LibreOffice при открытии в поле "mdate" десятичные числа, не смотря на формат поля TIMESTAMP , после установки формата — данные как у вас.
В Apache OpenOffice 4.1.0 при открытии время не смещается, но если изменить часовой пояс, то при открытии время меняется.

dndn

Таки проблема имеется. У меня тоже GMT+2. Но как только изменил часовой пояс и переоткрыл базу - время сразу же сместилось.
А в LibreOffice не пробовали часовой пояс сменить после того, как числа в дату переопределили?
И еще странно, что в LibreOffice изначально поле не показывается как дата...  ???

Щас буду пробовать LibreOffice ставить. Где-то слышал, что они вместе с OpenOffice не очень уживаются. Правда-нет?

rami

Цитата: dndn от  4 февраля 2015, 07:19А в LibreOffice не пробовали часовой пояс сменить после того, как числа в дату переопределили?
Ещё раз перепроверил LibreOffice тоже смещается, я вчера ещё писал об этом несколькими ответами выше.
Получается, что Base пересчитывает данные при открытии ???... У Calc появился серьёзный конкурент 8-)...

dndn

Самое удивительное - откуда он узнает, что часовой пояс изменился и нужно пересчитать? Это первое.
А второе - если узнает, то значит где-то ему можно же сказать - не пересчитывать?

rami

Самое интересное, что если создать новую базу не "HSQLDB встроенная", а "Firebird встроенная", то "машина времени" не заводится — время не меняется при изменении часового пояса (проверил в LibreOffice)
Думаю, что это глюк HSQLDB базы.
Цитата: dndn от  4 февраля 2015, 08:04значит где-то ему можно же сказать - не пересчитывать?
В настройках не нашёл (они очень скудные)

,,,

И как тут не пошутить, что HSQLDB прогнулась под изменчивый мир  O0
Блог про LibreOffice: Советы, трюки, хитрости, инструкции, руководства
http://librerussia.blogspot.ru