Java 将XMLGregorianCalendar转换为oracle时间戳值
我需要将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.TimestampJava 将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 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