繁体   English   中英

日期为XMLGregorianCalendar分隔符逗号(而不是点)

[英]Date to XMLGregorianCalendar separator comma instead of dot

我有以下问题:

我已经将java.util.Date转换为XMLGregorianCalendar ,并且输出具有以下格式:

2016-03-15T20:43:45.776+01:00

相反,我需要:

2015-10-31T14:35:01,905+01:00

因此,有关如何更改的任何建议. 进入,编程方式? 不能使用字符串替换,因为我需要进一步传递XMLGregorianCalendar对象。

任何帮助将不胜感激。

ISO-8601文件提出以下声明:

4.2.2.4用小数表示

[...]如果包括小数部分,则应省略低阶时间元素(如果有),并且小数部分应从整数部分除以ISO 31-0中指定的小数点,即逗号[, ]或句号[。]。 其中,逗号是首选符号。[...]

但是XML-Schema表示(作为偏差),在其内置的与时间相关的类型的任何词法表示形式(例如xs:datetime或xs:time )中,只允许使用点。 Java类XMLGregorianCalendar仅对内置类型建模,因此不允许逗号作为十进制符号。 该语句还由DatatypeFactory.newXMLGregorianCalendar(String lexicalRepresentation)方法的javadoc支持,该javadoc指向XML-Schema 1.0中的适当位置。

因此,如果您的Web服务需要逗号(但它也应该能够根据ISO-8601处理点),则您不能使用XMLGregorianCalendar而必须使用自己的解决方案以及可能的XML自定义用户类型。 我个人认为该点应该是可能的。

暂无
暂无

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

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