Я ввожу данные в API Spring REST в виде формата эпохи в строке (например, «1478607386»). После этого я передал эти данные из контроллера в класс DAOImplementation, а затем я извлек данные столбца с отметкой времени типа данных без часового пояса из PostgreSQL в тот же класс DAO. Теперь мне нужно сравнить оба данных, т.е. данные формата эпохи в формате String (например, «1478607386») и данные базы данных из PostgreSQL, которые находятся в отметке времени без формата часового пояса (я могу хранить эти данные в форме переменной списка в DAOImplementation), независимо от того, имеют ли они ту же дату или нет .Может ли кто-нибудь помочь мне, как это сделать. Спасибо
Как преобразовать дату в формате эпохи в дату базы данных PostgreSQL (отметка времени без часового пояса) в классе реализации DAO или наоборот
Ответы (1)
Вы можете извлечь эпоху в PostgreSQL и сравнить результат в Java.
Чтобы извлечь эпоху как bigint
, вы можете действовать следующим образом:
SELECT CAST (extract(epoch FROM timestampcol) AS bigint) FROM mytable WHERE ...;
Кроме того, вы можете получить метку времени как java.sql.Date
и используйте java.util.Calendar.getTimeInMillis()
для извлечения эпохи в Java.
person
Laurenz Albe
schedule
08.11.2016
@Laorenz Albe Спасибо за ваш ответ. Я не могу обновить базу данных. Мне просто нужно преобразовать эпоху (метки времени String или unix) в метку времени базы данных без формата часового пояса в классе java, чтобы проверить, равны они или нет. Или по-другому вы можете использовать это как преобразование временной метки базы данных без часового пояса в строковую дату (аналогично формату даты эпохи) для сравнения в классе java. Надеюсь, ты понял мою проблему, друг :)
- person Sunil Kumar; 08.11.2016
Это все еще неясно. Пожалуйста, отредактируйте вопрос и опишите более подробно, что вы на самом деле хотите. Я понимаю, что вы хотите написать что-то на Java, поэтому использование этого тега может помочь. Объясните, что вы подразумеваете под временной меткой базы данных и приведите пример того, что будет делать желаемый код.
- person Laurenz Albe; 08.11.2016
Я конкретизирую проблему. Надеюсь, теперь понятно.
- person Sunil Kumar; 08.11.2016
Ваш запрос будет работать на уровне базы данных, но мне нужен такой результат в классе java DAOImplementation с использованием языка запросов Hibernate.
- person Sunil Kumar; 10.11.2016
Здравствуйте, Альбе, я хочу выбрать DATE (row_created) из некоторого запроса в язык запросов гибернации. Спасибо.
- person Sunil Kumar; 10.11.2016