繁体   English   中英

将XMLGregorianCalendar转换为Oracle时间戳值

[英]Convert XMLGregorianCalendar to oracle timestamp value

我需要将XMLGregorianCalendar转换为Oracle Timestampformat

我的数据库数据类型为时间戳格式。

尝试使用Java执行查询。

默认情况下, XMLGregorianCalendar#toString()方法以ISO 8601格式返回日期字符串“ YYYY-MM-DDThh:mm:ssTZD”,例如:“ 2014-12-10T12:49:28-08:00”,并带有“ T'是时间的分隔符。 捷径是将'T'替换为空格,但我认为这不是可取的选择。

由于您需要与Oracle的TO_TIMESTAMP()函数兼容的格式的日期字符串,例如:“ YYYY-MM-DD HH24:MI:SS.FF3”,因此可以通过以下方式将其转换为java.sql.Timestamp:以毫秒为单位。

XMLGregorianCalendar now = new XMLGregorianCalendar();
GregorianCalendar calenderNow = now.toGregorianCalendar();
Timestamp createOnTimestamp = new Timestamp(calenderNow.getTimeInMillis()));

如果您需要将时间戳作为格式字符串传递给准备好的语句,则可以执行以下操作:

String createdOnString = createOnTimestamp.toString(); 
//returns yyyy-MM-dd HH:mm:ss.SSS 

或者,如果您要使用特定格式,请执行以下操作:

String createdOnString = new SimpleDateFormat("yourformat").format(createOnTimestamp);

*注意:您可以通过运行以下查询来查看Oracle的默认时间戳格式:

SELECT value FROM v$nls_parameters WHERE parameter = 'NLS_TIMESTAMP_FORMAT'; 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM