Мастерскада пишет в базу postgres данные.
Хочу сторонним софтом вытащить данные из таблицы
мастерскада долбит в метку времени вот такую цифру - 636849557194160000
как перевести её во время ?
Мастерскада пишет в базу postgres данные.
Хочу сторонним софтом вытащить данные из таблицы
мастерскада долбит в метку времени вот такую цифру - 636849557194160000
как перевести её во время ?
Значения соответствуют .NET тикам: var time = new DateTime(636849557194160000);
Пример запроса к PostgreSQL для отображения времени в timestamp:
SELECT itemid, name, firsttime, lasttime,
to_timestamp((firsttime - 621355968000000000)/10000000) as real_first_time,
to_timestamp((lasttime - 621355968000000000)/10000000) as real_last_time
FROM public.masterscadadataitems
Спасибо.
Огромное спасибо !)
Здравствуйте. подниму тему. Насколько я понимаю в MS теперь формат Filetime (вида 133416077940006909). Насколько я понимаю из него нужно вычесть некий коэффициент как в примере выше. Но я не понимаю что за коэффициент нужно вычитать для типа filetime
Я попробовал предыдущий пример и получил что то близкое к правде, но не совсем то. Запрос такой же
57988 "Объекты.Счетчики.Счетчик_1" 133416077940006909 133417613331312119 "0423-10-12 20:40:12+02:30:17" "0423-10-14 15:19:11+02:30:17"
День добрый.
FILETIME - This structure is a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601.
Нужно взять количество наносекунд с января 1970 года до 1601 (-116444683000000000) и отнять его (по модулю) от времени в БД. Часовой пояс надо учесть.
Последний раз редактировалось asuwcc; 16.10.2023 в 13:08.
Большое спасибо!
Некорректное число! Правильно будет -116444736000000000
https://stackoverflow.com/questions/...r-to-time-java