Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Формат времени в базе FB / 25 сообщений из 26, страница 1 из 2
13.10.2016, 11:43
    #39326083
dimugric
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
Коллеги, доброго дня.
Столкнулся с трудностью. Есть программный продукт по видеонаблюдению, который фиксирует определённые данные в безу FB.
Пытаюсь вытащить данные через ODBC, всё получается, кроме даты/времени.
Таблица TIMESTMP в очень странном формате (скрин приложен). Как его привести к человеческому виду?
p.s. на кодировку не обращайте внимания
...
Рейтинг: 0 / 0
13.10.2016, 11:53
    #39326102
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
Hello, Dimugric!
You wrote on 13 октября 2016 г. 11:52:40:

Dimugric> Таблица TIMESTMP в очень странном формате
приведи её DDL
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.10.2016, 11:54
    #39326105
Filippov Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
dimugric,

а что говорит тех.поддержка "программного продукта по видеонаблюдению"?
...
Рейтинг: 0 / 0
13.10.2016, 12:21
    #39326143
dimugric
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
Filippov Dmitrydimugric,

а что говорит тех.поддержка "программного продукта по видеонаблюдению"?

Говорит весело - с базой данных работать не нужно, она "типа" закрытая, выгружайте из интерфейса ручками. Привет Макроскопу.


Dimugric> Таблица TIMESTMP в очень странном формате
приведи её DDL
[/quot]

Каким образом?
...
Рейтинг: 0 / 0
13.10.2016, 12:30
    #39326155
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
dimugricс базой данных работать не нужно
Учитывая
dimugricКаким образом?
Плюсую.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.10.2016, 12:31
    #39326159
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
Hello, Dimugric!
You wrote on 13 октября 2016 г. 12:26:49:

Dimugric> приведи её DDL
> Каким образом?при помощи isql
SHOW TABLE TIMESTMP;
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.10.2016, 12:51
    #39326174
fraks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
dimugric
приведи её DDL


Каким образом?

Твои кракозябры на вкладке "Предварительный просмотр".
По идее на вкладке "SCRIPT" должно быть что-то типа

Код: plsql
1.
2.
3.
create table TABLENAME (
TIMESTMP TIMESTAMP,
...



в которой должно быть поле "TIMESTMP" (поле это, а не таблица).
И вот интересует с каким типом объявлено это поле.

А вообще что за странная морда у программы? И что за программа, почему в базу для изучения не IBExpert употребляется?
...
Рейтинг: 0 / 0
13.10.2016, 12:57
    #39326179
fraks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
Присмотрелся к картинке.

Таблица BASIC, поле TIMESTMP.

Сними галку "Системные таблицы", они тебе не нужны, только путать будут.

Кракозябры в полях COMMENT и прочих - скорее всего от неправильно указанной кодировки при коннекте к базе.
А попытка представить поле TIMESTMP в виде числа - это скорее всего грид не знает поля с типом TIMESTAMP и пытается отобразить его как понял, т.е. в виде числа.
...
Рейтинг: 0 / 0
13.10.2016, 13:00
    #39326185
fraks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
Если не обращать внимания на кодировку то по полю TIMESTMP, если клиент категорически не знает типа TIMESTAMP или TDateTime если это Delphi - то, если есть возможность выполнять запросы, можно порекомендовать привести это поле CASTом к строке, еще на сервере.
...
Рейтинг: 0 / 0
13.10.2016, 13:05
    #39326193
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
Hello, Fraks!
You wrote on 13 октября 2016 г. 13:03:49:

FraksЕсли не обращать внимания на кодировку то по полю TIMESTMP,
если клиент категорически не знает типа TIMESTAMP или TDateTime если это Delphi - то,
если есть возможность выполнять запросы, можно порекомендовать привести это поле CASTом к строке,
еще на сервере.Владимир! А ты с кем сейчас разговаривал?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.10.2016, 13:18
    #39326205
dimugric
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
Причем тут системные/не системные таблицы?
Вот сделал select из родной cli fb, надо сказать, не особо информативнее стало
...
Рейтинг: 0 / 0
13.10.2016, 13:21
    #39326210
dimugric
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
Наткнулся на php скрипт перевода даты:


$timestamp = 1465298940;
$datetimeFormat = 'Y-m-d H:i:s';

$date = new \DateTime();
$date->setTimestamp($timestamp);
echo $date->format($datetimeFormat);

Скрипт отрабатывает очень долго, но дату приводит в норму, правда с голом косяк какой-то.
Один из моих примеров перевода:

- 166295930798-07-10 19:27:44
...
Рейтинг: 0 / 0
13.10.2016, 13:30
    #39326225
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
fraksА попытка представить поле TIMESTMP в виде числа - это скорее всего грид не знает поля с типом TIMESTAMPа вот я не уверен, что поле именно этого типа.
потому и хочу увидеть DDL.
на крайний случай картинку с закладки "Скрипт".
...
Рейтинг: 0 / 0
13.10.2016, 13:31
    #39326226
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
dimugric,

мы DDL таблицы дождёмся или нет?
...
Рейтинг: 0 / 0
13.10.2016, 13:35
    #39326235
dimugric
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
Нету таблицы TIMESTMP

SHOW TABLES; и картинка скрипт показывают наличие 2х таблиц:
- BASIC (которая содержит столбец TIMESTMP)
- PLATES
...
Рейтинг: 0 / 0
13.10.2016, 13:38
    #39326236
dimugric
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
Прикладываю структуру без системных таблиц
...
Рейтинг: 0 / 0
13.10.2016, 13:38
    #39326237
dimugric
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
...
Рейтинг: 0 / 0
13.10.2016, 13:40
    #39326242
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
dimugric, сделай
SHOW TABLE BASICS;
...
Рейтинг: 0 / 0
13.10.2016, 13:44
    #39326247
dimugric
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
Мимопроходящийdimugric, сделай
SHOW TABLE BASICS;

SQL> SHOW TABLE BASIC;
TIMESTMP BIGINT Not Null
SRCID CHAR(16) CHARACTER SET OCTETS Not Null
COMMENT BLOB segment 80, subtype TEXT Nullable
ALARM INTEGER Not Null
EVENTTYPE CHAR(16) CHARACTER SET OCTETS Not Null
FILEPOS BIGINT Not Null
FILEID CHAR(16) CHARACTER SET OCTETS Not Null
...
Рейтинг: 0 / 0
13.10.2016, 13:49
    #39326256
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
Hello, Dimugric!
You wrote on 13 октября 2016 г. 13:45:32:

Dimugric> TIMESTMP BIGINT Not Null
шо и требовалось доказать...

это поле содержит "время" в каком-то суррогатном формате,
который разработчики программы интерТрепируют как им заблагорассудится.
и этот формат никак не связан с FB.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.10.2016, 14:11
    #39326287
dimugric
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
Опыта вскрытия такой штуки нет?)
...
Рейтинг: 0 / 0
13.10.2016, 14:17
    #39326293
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
dimugricОпыта вскрытия такой штуки нет?)
А что там вскрывать-то? Обычно это число некоторых единиц после некоторого базового
значения. Например, UNIX-time это число секунд после 1970-01-01 00:00:00. Всё, что тебе
надо, это угадать два числа.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.10.2016, 14:18
    #39326294
pastor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
dimugricОпыта вскрытия такой штуки нет?)

Delphi здесь никто не знает

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
function JavaToDelphiDateTime(const dt: int64): TDateTime;
var
  t: TSystemTime;
begin
  DateTimeToSystemTime(25569 + (dt / 86400000), t);
  SystemTimeToTzSpecificLocalTime(nil, @t, @t);
  Result := SystemTimeToDateTime(t);
end;

function DelphiToJavaDateTime(const dt: TDateTime): int64;
var
  t: TSystemTime;
begin
  DateTimeToSystemTime(dt, t);
  TzSpecificLocalTimeToSystemTime(nil, @t, @t);
  Result := Round((SystemTimeToDateTime(t) - 25569) * 86400000)
end;
...
Рейтинг: 0 / 0
13.10.2016, 14:21
    #39326301
dimugric
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
Спасибо, ребят. Буду пробовать
...
Рейтинг: 0 / 0
14.10.2016, 08:10
    #39326754
dimugric
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат времени в базе FB
Всё равно получается ерунда. Для timestmp у меня сльшком длинное значение, например, 5247792668148266144
И вместо года получается ересь какая-то
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Формат времени в базе FB / 25 сообщений из 26, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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