Имеется в базе (Oracle 12C) таблица с полем типа Date, таблица старая и в этом поле хранится не только дата но и время. Как узнать, какое значение хранится в базе ? Как правильно преобразовать его?
Локальное время (сервера, клиента) +7 UTC. Для одного из полей SQL Developer показывает значение 2014-05-26, в Java с помощью OJDBC драйвера (12 версия) возвращается объект типа sql.Timestamp со значением 1401037200000
System.out.println(Instant.ofEpochMilli(1401037200000L).atZone(ZoneId.of("UTC")).toLocalDateTime());
2014-05-25T17:00
System.out.println(Instant.ofEpochMilli(1401037200000L).atZone(ZoneId.systemDefault()).toLocalDateTime());
2014-05-26T00:00
System.out.println(new sql.Timestamp(1401037200000L));
2014-05-26 00:00:00.0
System.out.println(new sql.Date(1401037200000L));
2014-05-26
В клиентской части приложение делается преобразование к UTC по полученному Timestamp и соответственно получается 25 число, пользователь пытается произвести фильтрацию по 25 числу и не получает результатов с базы данных
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости