java日期格式与xquery xs :date format,不兼容如何解决?

标签 java date time xquery

在 java 中,当使用带有模式的 SimpleDateFormat 时:

yyyy-MM-dd'T'HH:mm:ss.SSSZ

日期输出为:

"2002-02-01T18:18:42.703-0700"

在xquery中,使用xs:dateTime函数时,报错:

"Invalid lexical value [err:FORG0001]"

以上述日期为准。为了让 xquery 正确解析,日期需要如下所示:

"2002-02-01T18:18:42.703-07:00" - node the ':' 3rd position from end of string

它基于 ISO 8601,而 Java 日期基于 RFC 822 标准。

我希望能够轻松地在 Java 中指定时区,以便它以 xquery 想要的方式输出。

谢谢!

最佳答案

好的,链接到论坛帖子确实有帮助,谢谢。然而,我确实找到了一个更简单的解决方案,我将其包括在下面:

1) 使用Apache commons.lang java库
2) 使用以下 java 代码:

//NOTE: ZZ on end is not compatible with jdk, but allows for formatting  
//dates like so (note the : 3rd from last spot, which is iso8601 standard):  
//date=2008-10-03T10:29:40.046-04:00  
private static final String DATE_FORMAT_8601 = "yyyy-MM-dd'T'HH:mm:ss.SSSZZ";  
DateFormatUtils.format(new Date(), DATE_FORMAT_8601)  

关于java日期格式与xquery xs :date format,不兼容如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/166600/

相关文章:

Javascript:如何从 UTC 字符串和偏移量解析日期?

javascript - 带 for 循环的日期数组

Javascript 更新时间函数导致高 CPU

以微秒为单位的 Java utc 时间和以 15 微秒为单位的 block

java - 我如何知道哪个类来自接口(interface)

java - 更改 Java 默认信任库密码的影响

java - 检查 SparseBooleanArray 中是否至少有一个 true 值

java - eclipse kepler 中的冗余空检查

java简单日期模式TO oracle sql日期模式

c# - 将字符串转换为时间