Преобразование из Java Timestamp в Oracle Timestamp - PullRequest
0 голосов
/ 20 июня 2019

В моем Java-проекте я пытаюсь создать временную метку, которая будет позже сохранена в базе данных (Oracle Database).После многих испытаний я обнаружил, что метка времени, которую генерирует мой код Java, имеет следующий формат:

2017-06-20 14:38:12.296

, а формат метки времени в Oracle выглядит следующим образом:

20-JUN-19 02.38.55.059000000 PM

Есть ли способпреобразовать формат Java метки времени в формат оракула?

Мой код для создания метки времени:

Date date = new Date();
long time = date.getTime();
Timestamp timeStamp = new Timestamp(time);

Я пробовал так много преобразований меток времени, но безрезультатно.

Ответы [ 2 ]

1 голос
/ 20 июня 2019

Чтобы добавить ответ QuaternionsRock, поскольку он не проверен, вы всегда можете использовать DateFormat .

По его ссылке вы можете увидеть следующий пример, который я могу проверить с такой датой, как 20-ИЮНЬ-19, 06.06.05.112.

DateFormat df = new SimpleDateFormat("dd-MMM-yy HH.mm.ss.SSS a");
Date date = df.parse(oracleTS);
Timestamp ts = new Timestamp(date.getTime());

В строке DateFormat не должно быть двух a, в отличие от ссылки, опубликованной в QuaternionsRock.

0 голосов
/ 20 июня 2019

С здесь :

java.sql.Timestamp javaTimeStamp = oracleTimeStamp.timestampValue();

Не могу сказать, что проверял это, но мне это кажется логичным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...