Преобразование времени Oracle в Unix - PullRequest
0 голосов
/ 23 декабря 2018

Как конвертировать oracle.sql.TIMESTAMP в unix TIME?

У меня есть значение времени, скажем,

"22-DEC-18 02.25.18.288000000 PM"

, что оракулsql `временные метки.

Я должен преобразовать его в unix timestamp в Java.

1 Ответ

0 голосов
/ 23 декабря 2018

Я предполагаю, что со временем unix вы подразумеваете количество секунд с 1970-01-01 00:00 по Гринвичу.

Вы можете получить это, получив java.sql.Timestamp и используя его getTime()метод, чтобы получить число милли секунд с 1970-01-01 00:00 по Гринвичу, а затем преобразовать его в секунды.

Вы можете получить java.sql.Timestamp из oracle.sql.TIMESTAMP, используя его метод timestampValue(), но, вероятно, было бы лучше просто использовать определенный JDBC API и получить java.sql.Timestamp напрямую вместо использования API расширения Oracle.

Например:

oracle.sql.TIMESTAMP oracleTimestamp = // ...
java.sql.Timestamp jdbcTimestamp = oracleTimestamp.timestampValue();
long epochMillis = jdbcTimestamp.getTime();
long epochSeconds = TimeUnit.MILLISECONDS.toSeconds(epochMillis); // or just epochMillis / 1000;

Если вам нужны миллисекунды, вы можете просто пропустить последний шаг.

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