在我的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);
我尝试了很多时间戳转换,但是没有用。
答案 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();
我不能说我已经测试过了,但是对我来说似乎合乎逻辑。