Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将XMLGregorianCalendar转换为oracle时间戳值_Java_Oracle_Timestamp - Fatal编程技术网

Java 将XMLGregorianCalendar转换为oracle时间戳值

Java 将XMLGregorianCalendar转换为oracle时间戳值,java,oracle,timestamp,Java,Oracle,Timestamp,我需要将XMLGregorianCalendar转换为Oracle时间戳格式 我的数据库数据类型是时间戳格式 尝试使用Java执行查询。默认情况下,该方法返回格式为“YYYY-MM-DDThh:MM:ssTZD”的日期字符串,例如:“2014-12-10T12:49:28-08:00”,其中“T”是时间的分隔符。一个捷径是用空格代替“T”,但在我看来,这不是一个更好的选择 由于您需要与Oracle函数兼容的格式的日期字符串,例如:“YYYY-MM-DD HH24:MI:SS.FF3”,因此可以通

我需要将XMLGregorianCalendar转换为Oracle时间戳格式

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

尝试使用Java执行查询。

默认情况下,该方法返回格式为“YYYY-MM-DDThh:MM:ssTZD”的日期字符串,例如:“2014-12-10T12:49:28-08:00”,其中“T”是时间的分隔符。一个捷径是用空格代替“T”,但在我看来,这不是一个更好的选择

由于您需要与Oracle函数兼容的格式的日期字符串,例如:“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'; 

您是否尝试自行解决此问题?很难理解您的问题,您的意思是您需要在java程序中将
xmlgoriiancalendar
转换为
Timestamp
,以便将其插入到oracle DB表中?是的,完全正确。键入从xmlgoriiancalendar转换为Timestamp