Oracle DATE datatype does not have a timezone field. Only date and time components are stored in it. Therefore, when jdbc inserts a date with a time zone in the DATE database field, it must decide what to do with the time zone information that will disappear.
In your case, it seems that jdbc converts java DATE to the locale time zone before insertion. Date 09-SEP-1987 00:00:00 UTC converted to 08-SEP-1987 20:00:00 EST , and time zone information is discarded when inserted.
Knowing that you can either not specify the time zone when pasting into the DATE field to use the default time zone, or change both the default time zone and the java DATE time zone.
source share