Как конвертировать целое число в значение времени?

Есть задача получать содержимое определенных таблиц из ERP Галактика, установленной на MS SQL.
В таблице есть поле, содержащее время, в базе оно выглядит как просто целое число из 9 цифр.
Например: [251865884, 238621261, 268574281]
В Галактике эти цифры превращаются в [15:03, 14:57, 16:02]

Может кто-нибудь сталкивался с подобными вариантами хранения времени, особенно в старых системах? Какие операции нужно провести над числами, чтобы превратить их во время?

UPD: Поле с датой также состоит из целого числа из 9 цифр. Его можно преобразовать в дату следующими операциями:
year = number / 2^16
month = number / 2^8 mod 2^8
date = number mod 2^8
  • Вопрос задан
  • 729 просмотров
Решения вопроса 1
hint000
@hint000
у админа три руки
Эмпирически: (количество секунд от полуночи)*4648.5
т.е. целое поделить на 4648.5, результат из секунд перевести в часы и минуты (поделить на 60 и ещё раз на 60, взять целую часть и остаток от деления)
Правда 14:57 заметно выбивается, может опечатка у вас?


Upd:
hours = number / 2^24
minutes = (number mod 2^24) / 2^16
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы