У меня есть база данных времени начала и окончания, в которой ранее были достаточно недавние данные (с 1960-х годов до наших дней), которые я смог сохранить как длинные целые числа. Это очень похоже на временные метки Unix, только с точностью до миллисекунды, поэтому такая функция, как java.util.Date.getTime () будет значением текущего времени.
До сих пор это работало хорошо, но мы недавно получили данные 1860-х годов, и следующий код больше не работает, когда значения, которые приводят к временам <1901 (дать или взять): </p>
to_timestamp('1-JAN-1970 00:00:00', 'dd-mon-yyyy hh24:mi:ss') + numtodsinterval(int_to_convert/(1000),'SECOND' );
Попытка выполнить это со значением в миллисекундах, например -2177452800000, вызывает некоторые проблемы, такие как возвращение даты с отметкой времени в 2038 году. Есть ли способ обойти эту проблему? Вся документация, которую я посмотрел на документацию и временные метки, должна быть в состоянии обрабатывать годы вплоть до -4000 (BC), поэтому я подозреваю, что проблема с numtodsinterval.
Любые предложения идей будут с благодарностью.