Какая временная зона используется в Oracle типе Date

192
24 января 2018, 15:16

Имеется в базе (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 числу и не получает результатов с базы данных

READ ALSO
Кодировка, Java, NetBeans

Кодировка, Java, NetBeans

Учусь ява для вебНаписал сокет для общения с клиентом все работает но с проблемой такой что при запуске программы прямо в ide то работает отлично...

142
Ошибка при попытке приведения типа

Ошибка при попытке приведения типа

Здравствуйте, подскажите пожалуйстаПри передаче в данный код значений определенного типа int, long и т

163
Причина возниконовения Runtime Error?

Причина возниконовения Runtime Error?

Доброго времени сутокНеобходимо решить задачку на одном ресурсе

197
Распарсить значения в JavaScript

Распарсить значения в JavaScript

Контроллер передает данные:

196