Java中的XMLGregorianCalendar,没有时区

Inq*_*Shm 4 java timezone xmlgregoriancalendar

如何创建没有时区的XMLGregorianCalendar?无时间偏移量(0)== UTC,它在输出中输出“ Z”。我的字段的含义是隐式本地时间,在xml记录的其他位置(例如地址)指定位置。

如何创建带有未定义时区(TimeZone不确定)的XMLGregorianCalendar?

有效的XML ISO-8601公历日历格式包括:

  • CCYY-MM-DDThh:mm:ss –不带Zulu时间标记或TimeOffset的是指相对物理位置的本地时间。
  • CCYY-MM-DDThh:mm:ssZ –相对物理位置的DateTime以UTC(Zulu)时间表示,对于本地时间必须进行转换。
  • CCYY-MM-DDThh:mm:ss + 05:30相对物理位置的DateTime以某个时区表示,该时区与UTC时差+5小时30分钟。对于本地时间,我们必须首先转换为UTC,然后通过与UTC进行偏移来转换为本地时间。不能保证所提供的位置是记录位置的本地时间。

Ole*_*.V. 6

我查看了的文档XMLGregorianCalendar。在顶部表格(底部行)中,该时区为

分钟数或DatatypeConstants.FIELD_UNDEFINED

因此,让我们尝试后一种选择:

    System.out.println(xcal);
    xcal.setTimezone(DatatypeConstants.FIELD_UNDEFINED);
    System.out.println(xcal);
Run Code Online (Sandbox Code Playgroud)

在一次测试运行中,打印出以下内容:

2017-11-30T07:54:05.647+01:00
2017-11-30T07:54:05.647
Run Code Online (Sandbox Code Playgroud)

在将时区设置为undefined之后,它不再打印偏移量。所以我相信我已经获得了您想要的。