[英]Converting from Java Timestamp to Oracle Timestamp
在我的Java项目中,我试图创建一个时间戳,该时间戳稍后将存储在数据库(Oracle数据库)中。 经过多次试验,我发现我的Java代码生成的时间戳具有以下格式:
2017-06-20 14:38:12.296
Oracle中的时间戳格式如下:
20-JUN-19 02.38.55.059000000 PM
有没有办法将时间戳的java格式转换为oracle的格式?
我创建时间戳的代码:
Date date = new Date();
long time = date.getTime();
Timestamp timeStamp = new Timestamp(time);
我已经尝试了很多时间戳转换,但是没有用。
要添加来自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
。
从这里 :
java.sql.Timestamp javaTimeStamp = oracleTimeStamp.timestampValue();
我不能说我已经测试过了,但是对我来说似乎合乎逻辑。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.