У меня есть служба REST с конечной точкой, которая ПОЛУЧАЕТ данные в течение запрошенного интервала. Запрошенный интервал отображается как две временные метки Unix в миллисекундах типа Long. Нравится:
Long start = 1622648253010;
Long end = 1622651853010;
У меня есть база данных PostgreSQL, в которой есть таблица со столбцом Timestamp. Мне нужно выбрать некоторые данные из этой таблицы, где отметка времени находится между двумя отметками времени Unix. Однако PostgreSQL не понимает отметки времени Unix, поэтому мне нужно преобразовать две отметки времени в отметки времени, совместимые с PostgreSQL, прежде чем использовать их в запросе. Преобразование должно выполняться на Java, а не в SQL-запросе.
Как я могу это сделать? Я знаю только один способ:
java.sql.Timestamp.from(Instant.ofEpochSecond(
start.getSeconds(), start.getNanos()))
Но это не работает.
java.sql.Timestamp
. Этот класс очень плохо спроектирован и давно устарел. Вместо этого используйтеOffsetDateTime
илиLocalDateTime
; оба взяты из java.time, современного API даты и времени Java. - person Ole V.V.   schedule 02.06.20211622648253010
не являетсяtimestamp
значением blog.sql-workbench.eu/post/epoch-mania - person a_horse_with_no_name   schedule 02.06.2021