【发布时间】:2017-09-29 11:24:31
【问题描述】:
我必须为 Web 服务构造一个 XMLGregorianCalendar,它需要一个格式为 yyyy-MM-dd+01:00 的日期,其中 + 之后的值来自时区偏移量。
到目前为止,我已经尝试过:
DateTimeFormatter formatterDateWithOffset = DateTimeFormatter.ofPattern("yyyy-MM-ddZZ");
XMLGregorianCalendar xcal = DatatypeFactory.newInstance()
.newXMLGregorianCalendar(zonedDateTime.format(formatterDateWithOffset));
但这会导致IllegalArgumentExcpetion,因为格式化程序会生成2017-09-29+0200
是否可以为所需格式定义格式字符串?
【问题讨论】:
-
你为什么使用 ZonedDateTime 而不是 LocalDateTime?
-
你试过
yyyy-MM-ddZZZZ吗? JavaDoc:“一个、两个或三个字母输出小时和分钟,不带冒号,如'+0130',...字母输出本地化偏移的完整形式”
标签: java date datetime formatting java-time