С клиента принимаю дату и время в виде строк, склеиваю их на сервере просто как date+" "+time+":00". Использую jodatime DateTime и такой формат "dd.MM.YYYY HH:mm:ss" чтобы получить объект даты. Затем сохраняю все в postgres посредством eclipse link. Написан конвертер в sql.Timestamp для пущего удобства.
Пример получаемой даты "2016-02-04 15:30:00" в postgres.
Отправляю я ему "2016-02-04 14:30:00". Пришел из-за этого к выводу, что postgres сам увеличивает дату на час. Дата хранится в timestamp without timezone. jodatime последней версии 2.9.2.
Подозреваю, что тот самый конвертер вам делает медвежью услугу. Вы его unit-тестами покрыли? Не думаю что PostgreSQL занимается самодеятельностью в этом плане.
Сделайте чистый SQL запрос к базе (хоть банально из CLI) и посмотрите результат. Возможно у вас TZ соединения выставлена неправильно. В любом случае нужно начать с голого SQL запроса руками.