У меня есть база данных SQLite 3 в MacOS с метками времени (обычно что-то вроде 279020203.539467).
В документации говорится, что даты могут храниться как
REAL - as Julian day numbers, the number of days since noon in Greenwich
on November 24, 4714 B.C. according to the proleptic Gregorian calendar.
* 1007.* И, похоже, это то, что у меня есть.
Я хочу экспортировать это и импортировать в другие базы данных.
Я предполагаю, что тип метки времени несовместим между ядрами баз данных,поэтому где-то должно произойти какое-то преобразование, и я работаю в предположении, что было бы лучше сделать это при экспорте данных из базы данных SQLite.
Но я не могу понять, как это сделать
Я смотрел на этот ответ , который ссылается на это сообщение на форуме , которое указывает, что в SQLite вы можете сделать что-то вроде
select datetime('40660.9454658044', '+2415018 days', '+12 hours', 'localtime');
(возможно, 2415018 - это количество дней между 24 ноября, 4714 г. до н.э. и какой-то другой магической датой ...)
Однако замена строки метки времени в этом примере на то, что у меня приводит к нулю,Предположительно, потому что «279020203.539467» - это другая отметка времени.Это также на несколько величин больше, чем в примере.
Но как преобразовать это в пригодную для использования дату?Я знаю, что это должно произойти примерно в 2011/2012 годах.
Интерпретация данных как "целое число" (в секундах с 1970-01-01) дает 1978, так что это тоже не правильно.
ОБНОВЛЕНИЕ:Я обнаружил, что
288773834.371606 should be 2010-02-25 07.57
296636121.950064 should be 2010-05-27 08.55
(CET, если это имеет значение).