从Java时间戳转换为Oracle时间戳

时间:2019-06-20 15:58:58

标签: java oracle

在我的java项目中,我试图创建一个时间戳,该时间戳稍后将存储在数据库(Oracle数据库)中。 经过多次试验,我发现我的Java代码生成的时间戳具有以下格式:

2017-06-20 14:38:12.296

,Oracle中的时间戳格式如下:

20-JUN-19 02.38.55.059000000 PM

是否可以将timestamp的java格式转换为oracle的格式?

我创建时间戳的代码:

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

我尝试了很多时间戳转换,但是没有用。

2 个答案:

答案 0 :(得分:1)

要从QuaternionsRock的答案中添加内容,因为未经测试,您可以随时使用DateFormat

从他的链接中,您可以看到以下示例,我可以测试该示例的日期,例如19年6月20日06.06.05.112 PM。

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

与QuaternionsRock链接中发布的内容相反,DateFormat字符串中不必有两个a

答案 1 :(得分:0)

来自here

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

我不能说我已经测试过了,但是对我来说似乎合乎逻辑。