public abstract class XMLGregorianCalendar extends Object implements Cloneable
W3C XML Schema 1.0日期/时间数据类型的表示。 具体而言,这些日期/时间数据类型是DatatypeConstants.DATETIME
, DatatypeConstants.TIME
, DatatypeConstants.DATE
, DatatypeConstants.GYEARMONTH
, DatatypeConstants.GMONTHDAY
, DatatypeConstants.GYEAR
, DatatypeConstants.GMONTH
和DatatypeConstants.GDAY
在XML命名空间定义"http://www.w3.org/2001/XMLSchema"
。 这些数据类型在W3C XML Schema 1.0 Part 2, Section 3.2.7-14中规范定义。
下表定义了XML Schema 1.0日期/时间数据类型字段与此类“字段之间的映射。 它还总结了W3C XML Schema 1.0 Part 2, Appendix D, ISO 8601 Date and Time Formats中定义的日期和时间字段的值约束 。
Date/Time Datatype Field Mapping Between XML Schema 1.0 and Java Representation XML Schema 1.0getYear()
+ getEon()
orgetEonAndYear()
getYear()
is a value between -(10^9-1) to (10^9)-1 or DatatypeConstants.FIELD_UNDEFINED
.getEon()
is high order year value in billion of years.getEon()
has values greater than or equal to (10^9) or less than or equal to -(10^9). A value of null indicates field is undefined.getMonth()
1 to 12 or DatatypeConstants.FIELD_UNDEFINED
day getDay()
Independent of month, max range is 1 to 31 or DatatypeConstants.FIELD_UNDEFINED
.getHour()
0 to 23 or DatatypeConstants.FIELD_UNDEFINED
. An hour value of 24 is allowed to be set in the lexical space provided the minute and second field values are zero. However, an hour value of 24 is not allowed in value space and will be transformed to represent the value of the first instance of the following day as per XML Schema Part 2: Datatypes Second Edition, 3.2 Primitive datatypes. minute getMinute()
0 to 59 or DatatypeConstants.FIELD_UNDEFINED
second getSecond()
+ getMillisecond()
/1000 orgetSecond()
+ getFractionalSecond()
getSecond()
from 0 to 60 or DatatypeConstants.FIELD_UNDEFINED
.getFractionalSecond()
allows for infinite precision over the range from 0.0 to 1.0 when the getSecond()
is defined.FractionalSecond
is optional and has a value of null
when it is undefined.getMillisecond()
is the convenience millisecond precision of value of getFractionalSecond()
. timezone getTimezone()
Number of minutes or DatatypeConstants.FIELD_UNDEFINED
. Value range from -14 hours (-14 * 60 minutes) to 14 hours (14 * 60 minutes).
通过工厂方法@ {link DatatypeFactory},此类的setter方法和解析方法检查列出的上表中的字段的所有最大值空间约束。 IllegalArgumentException
当参数的值是该字段中的值约束以外,或者如果该复合值构成的无效的XMLGregorianCalendar实例(例如,如果指定六月31日)被抛出。
为此类定义了以下操作:
toString()
,DatatypeFactory.newXMLGregorianCalendar(String lexicalRepresentation)
GregorianCalendar
, toGregorianCalendar(java.util.TimeZone timezone, java.util.Locale aLocale, XMLGregorianCalendar defaults)
, DatatypeFactory
compare(XMLGregorianCalendar xmlGregorianCalendar)
equals(Object)
相对定义为compare(XMLGregorianCalendar xmlGregorianCalendar)
。 Duration
如在定义的实例W3C XML Schema 1.0 Part 2, Appendix E, Adding durations to dateTimes 。 Duration
, DatatypeFactory
Constructor and Description |
---|
XMLGregorianCalendar()
默认的无参数构造函数。
|
Modifier and Type | Method and Description |
---|---|
abstract void |
add(Duration duration)
将
duration 添加到此实例。
|
abstract void |
clear()
取消设置所有字段为undefined。
|
abstract Object |
clone()
创建并返回此对象的副本。
|
abstract int |
compare(XMLGregorianCalendar xmlGregorianCalendar)
根据W3C XML Schema 1.0 Part 2, Section 3.2.7.3,
Order relation on dateTime中定义的部分顺序关系,比较W3C XML Schema 1.0日期/时间数据类型的
两个实例 。
|
boolean |
equals(Object obj)
将此日历与指定的对象进行比较。
|
abstract int |
getDay()
月返还天数或
DatatypeConstants.FIELD_UNDEFINED 。
|
abstract BigInteger |
getEon()
为XML Schema 1.0返回高阶组件dateTime数据类型字段为
year 。
|
abstract BigInteger |
getEonAndYear()
返回XML Schema 1.0 dateTime数据类型字段
year 。
|
abstract BigDecimal |
getFractionalSecond()
返回小数秒。
|
abstract int |
getHour()
|
int |
getMillisecond()
返回毫秒精度
getFractionalSecond() 。
|
abstract int |
getMinute()
|
abstract int |
getMonth()
返回月份数或
DatatypeConstants.FIELD_UNDEFINED 。
|
abstract int |
getSecond()
|
abstract int |
getTimezone()
如果
未定义此可选字段,则返回时区偏移量(分钟)或
DatatypeConstants.FIELD_UNDEFINED 。
|
abstract TimeZone |
getTimeZone(int defaultZoneoffset)
返回
java.util.TimeZone 。
|
abstract QName |
getXMLSchemaType()
返回此实例映射到的XML模式日期/时间类型的名称。
|
abstract int |
getYear()
|
int |
hashCode()
返回与equals方法的定义一致的哈希码。
|
abstract boolean |
isValid()
验证实例
getXMLSchemaType() 约束。
|
abstract XMLGregorianCalendar |
normalize()
将此实例归一化为UTC。
|
abstract void |
reset()
将此
XMLGregorianCalendar 重置为原始值。
|
abstract void |
setDay(int day)
设定月份的天数。
|
abstract void |
setFractionalSecond(BigDecimal fractional)
设置小数秒。
|
abstract void |
setHour(int hour)
设置小时
|
abstract void |
setMillisecond(int millisecond)
设置毫秒。
|
abstract void |
setMinute(int minute)
设置分钟。
|
abstract void |
setMonth(int month)
设置月份。
|
abstract void |
setSecond(int second)
设置秒
|
void |
setTime(int hour, int minute, int second)
将时间设为一个单位。
|
void |
setTime(int hour, int minute, int second, BigDecimal fractional)
将时间设置为一个单位,包括可选的无限精度小数秒。
|
void |
setTime(int hour, int minute, int second, int millisecond)
将时间设置为一个单位,包括可选的毫秒数。
|
abstract void |
setTimezone(int offset)
设置时区偏移的分钟数。
|
abstract void |
setYear(BigInteger year)
设置XSD
dateTime 年期的低阶和高阶分量。
|
abstract void |
setYear(int year)
设置年度XSD
dateTime 年场。
|
abstract GregorianCalendar |
toGregorianCalendar()
将此 XMLGregorianCalendar 转换为GregorianCalendar 。
|
abstract GregorianCalendar |
toGregorianCalendar(TimeZone timezone, Locale aLocale, XMLGregorianCalendar defaults)
将此 XMLGregorianCalendar 与提供的XMLGregorianCalendar 一起转换为GregorianCalendar 实例。
|
String |
toString()
返回此
String Object的
XMLGregorianCalendar
Object 。
|
abstract String |
toXMLFormat()
返回
this 实例的词汇表示。
|
public XMLGregorianCalendar()
注意:始终使用DatatypeFactory
构造的一个实例XMLGregorianCalendar
。 此类的构造函数无法保证产生一致状态的对象,并可能在将来被删除。
public abstract void clear()
取消设置所有字段为undefined。
将所有int字段设置为DatatypeConstants.FIELD_UNDEFINED
,将引用字段设置为null。
public abstract void reset()
将此XMLGregorianCalendar
重置为原始值。
XMLGregorianCalendar
被重置为相同的值时,将其用创建为DatatypeFactory.newXMLGregorianCalendar()
, DatatypeFactory.newXMLGregorianCalendar(String lexicalRepresentation)
, DatatypeFactory.newXMLGregorianCalendar( BigInteger year, int month, int day, int hour, int minute, int second, BigDecimal fractionalSecond, int timezone)
, DatatypeFactory.newXMLGregorianCalendar( int year, int month, int day, int hour, int minute, int second, int millisecond, int timezone)
, DatatypeFactory.newXMLGregorianCalendar(GregorianCalendar cal)
, DatatypeFactory.newXMLGregorianCalendarDate( int year, int month, int day, int timezone)
, DatatypeFactory.newXMLGregorianCalendarTime( int hours, int minutes, int seconds, int timezone)
, DatatypeFactory.newXMLGregorianCalendarTime( int hours, int minutes, int seconds, BigDecimal fractionalSecond, int timezone)
或DatatypeFactory.newXMLGregorianCalendarTime( int hours, int minutes, int seconds, int milliseconds, int timezone)
。
reset()
旨在允许现有的XMLGregorianCalendar
s的重用,从而节省与创建新的XMLGregorianCalendar
s相关的资源。
public abstract void setYear(BigInteger year)
设置XSD dateTime
年期的低阶和高阶分量。
通过调用参数值为null
的setter取消设置此字段。
year
- 价值约束总结在
year field of date/time field mapping table 。
IllegalArgumentException
- 如果
year
参数是date/time field mapping table中指定的字段外部值
约束 。
public abstract void setYear(int year)
设置年度XSD dateTime
年场。
通过使用参数值DatatypeConstants.FIELD_UNDEFINED
调用setter来取消设置此字段。
注意:如果year
参数的绝对值小于10 ^ 9,则通过此方法将XSD年度字段的eon组件设置为null
。
year
- 值约束总结在year field of date/time field mapping table中 。
如果年份是DatatypeConstants.FIELD_UNDEFINED
,那么eon设置为null
。
public abstract void setMonth(int month)
设置月份。
通过调用参数值为DatatypeConstants.FIELD_UNDEFINED
的setter取消设置此字段。
month
- 值约束总结在
month field of date/time field mapping table 。
IllegalArgumentException
- 如果
month
参数是date/time field mapping table中指定的字段外部值
约束 。
public abstract void setDay(int day)
设定月份的天数。
通过调用参数值为DatatypeConstants.FIELD_UNDEFINED
的setter取消设置此字段。
day
- 值约束总结在
day field of date/time field mapping table 。
IllegalArgumentException
- 如果
day
参数是date/time field mapping table中指定的字段外部值
约束 。
public abstract void setTimezone(int offset)
设置时区偏移的分钟数。
通过调用参数值为DatatypeConstants.FIELD_UNDEFINED
的setter取消设置此字段。
offset
- timezone field of date/time field mapping table中
总结的价值
约束 。
IllegalArgumentException
- 如果
offset
参数是date/time field mapping table中指定的字段外部值
约束 。
public void setTime(int hour, int minute, int second)
将时间设为一个单位。
hour
- 价值约束总结在
hour field of date/time field mapping table 。
minute
- 值约束总结在
minute field of date/time field mapping table中 。
second
- 值约束总结在
second field of date/time field mapping table中 。
IllegalArgumentException
- 如果任何参数在date/time field mapping table中指定的字段外部值
约束 。
setTime(int, int, int, BigDecimal)
public abstract void setHour(int hour)
设置小时
通过使用参数值DatatypeConstants.FIELD_UNDEFINED
调用setter来取消设置此字段。
hour
- 值约束总结在
hour field of date/time field mapping table 。
IllegalArgumentException
- 如果
hour
参数是date/time field mapping table中指定的字段外部值
约束 。
public abstract void setMinute(int minute)
设置分钟。
通过调用参数值为DatatypeConstants.FIELD_UNDEFINED
的setter取消设置此字段。
minute
- 值约束总结在
minute field of date/time field mapping table 。
IllegalArgumentException
- 如果
minute
参数是在date/time field mapping table中指定的字段外部值
约束 。
public abstract void setSecond(int second)
设置秒
通过调用参数值为DatatypeConstants.FIELD_UNDEFINED
的setter取消设置此字段。
second
- 值约束总结在
second field of date/time field mapping table 。
IllegalArgumentException
- 如果
second
参数是date/time field mapping table中指定的字段外部值
约束 。
public abstract void setMillisecond(int millisecond)
设置毫秒。
通过调用参数值为DatatypeConstants.FIELD_UNDEFINED
的setter取消设置此字段。
millisecond
- 价值约束总结在
second field of date/time field mapping table 。
IllegalArgumentException
- 如果
millisecond
参数是在date/time field mapping table中指定的字段的外部值
约束 。
public abstract void setFractionalSecond(BigDecimal fractional)
设置小数秒。
通过调用参数值为null
的setter取消设置此字段。
fractional
- 价值约束总结在
second field of date/time field mapping table 。
IllegalArgumentException
- 如果
fractional
参数是在date/time field mapping table中指定的字段外部值
约束 。
public void setTime(int hour, int minute, int second, BigDecimal fractional)
将时间设置为一个单位,包括可选的无限精度小数秒。
hour
- 值约束总结在
hour field of date/time field mapping table中 。
minute
- 值约束总结在
minute field of date/time field mapping table中 。
second
- 价值约束总结在
second field of date/time field mapping table 。
fractional
- 值
null
表示此可选字段未设置。
IllegalArgumentException
- 如果任何参数在date/time field mapping table中指定的字段的外部值
约束 。
public void setTime(int hour, int minute, int second, int millisecond)
将时间设置为一个单位,包括可选的毫秒数。
hour
- 价值约束总结在
hour field of date/time field mapping table 。
minute
- 价值约束总结在
minute field of date/time field mapping table 。
second
- 价值约束总结在
second field of date/time field mapping table中 。
millisecond
- 值为
DatatypeConstants.FIELD_UNDEFINED
表示此可选字段未设置。
IllegalArgumentException
- 如果任何参数在date/time field mapping table中指定的字段外部值
约束 。
public abstract BigInteger getEon()
为XML Schema 1.0返回高阶组件dateTime数据类型字段为year
。 null
如果这个年份字段的可选部分未定义。
year field of date/time field mapping table总结了该值的价值约束 。
XMLGregorianCalendar
。
返回的值为10 ^ 9的整数倍。
getYear()
,
getEonAndYear()
public abstract int getYear()
为year
或DatatypeConstants.FIELD_UNDEFINED
返回XML Schema 1.0 dateTime数据类型字段的year
组件 。
year field of date/time field mapping table总结了该值的价值约束 。
XMLGregorianCalendar
。
getEon()
,
getEonAndYear()
public abstract BigInteger getEonAndYear()
返回XML Schema 1.0 dateTime数据类型字段year
。
这个值的价值约束总结在year field of date/time field mapping table中 。
public abstract int getMonth()
返还月数或DatatypeConstants.FIELD_UNDEFINED
。
month field of date/time field mapping table总结了该值的价值约束 。
XMLGregorianCalendar
。
public abstract int getDay()
DatatypeConstants.FIELD_UNDEFINED
。
day field of date/time field mapping table总结了该值的价值约束 。
setDay(int)
public abstract int getTimezone()
DatatypeConstants.FIELD_UNDEFINED
。
timezone field of date/time field mapping table总结了该值的价值约束 。
setTimezone(int)
public abstract int getHour()
DatatypeConstants.FIELD_UNDEFINED
。
如果未定义此字段,则返回DatatypeConstants.FIELD_UNDEFINED
。
hour field of date/time field mapping table总结了该值的价值约束 。
setTime(int, int, int)
public abstract int getMinute()
DatatypeConstants.FIELD_UNDEFINED
。
如果此字段未定义,则返回DatatypeConstants.FIELD_UNDEFINED
。
minute field of date/time field mapping table总结了该值的价值约束 。
setTime(int, int, int)
public abstract int getSecond()
返回秒或DatatypeConstants.FIELD_UNDEFINED
。
如果未定义此字段,则返回DatatypeConstants.FIELD_UNDEFINED
。 当未定义此字段时,不能定义由getFractionalSecond()
和getMillisecond()
表示的可选xs:dateTime小数秒字段。
second field of date/time field mapping table总结了该值的价值约束 。
XMLGregorianCalendar
。
getFractionalSecond()
,
getMillisecond()
,
setTime(int, int, int)
public int getMillisecond()
返回毫秒精度getFractionalSecond()
。
该方法代表无限精度小数第二个值由getFractionalSecond()
返回的方便访问器 。 返回的值是舍入到毫秒值为getFractionalSecond()
。 当getFractionalSecond()
返回null
时,此方法必须返回DatatypeConstants.FIELD_UNDEFINED
。
这个值的价值约束总结在second field of date/time field mapping table中 。
XMLGregorianCalendar
。
getFractionalSecond()
,
setTime(int, int, int)
public abstract BigDecimal getFractionalSecond()
返回小数秒。
当此可选字段null
时返回null
。
价值约束详见second field of date/time field mapping table 。
当xs:dateTime第二个字段(由getSecond()
表示)不返回DatatypeConstants.FIELD_UNDEFINED
时,此可选字段只能具有定义的值。
XMLGregorianCalendar
。
getSecond()
,
setTime(int, int, int, BigDecimal)
public abstract int compare(XMLGregorianCalendar xmlGregorianCalendar)
根据W3C XML Schema 1.0 Part 2, Section 3.2.7.3, Order relation on dateTime中定义的部分顺序关系,比较两个W3C XML Schema 1.0日期/时间数据类型的实例 。
xsd:dateTime
数据类型字段映射到此类的存取中定义date/time field mapping table 。
xmlGregorianCalendar
- 实例
XMLGregorianCalendar
进行比较
this
XMLGregorianCalendar
和指定
xmlGregorianCalendar
如
DatatypeConstants.LESSER
,
DatatypeConstants.EQUAL
,
DatatypeConstants.GREATER
或
DatatypeConstants.INDETERMINATE
。
NullPointerException
- 如果
xmlGregorianCalendar
为空。
public abstract XMLGregorianCalendar normalize()
将此实例归一化为UTC。
2000-03-04T23:00:00 + 03:00正常化到2000-03-04T20:00:00Z
实现W3C XML模式第2部分,第3.2.7.3节(A)。
this
XMLGregorianCalendar
标准化为UTC。
public boolean equals(Object obj)
将此日历与指定的对象进行比较。 结果是true
当且仅当参数不为空时,是一个XMLGregorianCalendar
对象,表示与此对象相同的时间。
equals
在类
Object
obj
- 比较。
true
当
obj
是
XMLGregorianCalendar
和
compare(XMLGregorianCalendar obj)
的一个实例返回
DatatypeConstants.EQUAL
,否则
false
。
Object.hashCode()
, HashMap
public int hashCode()
返回与equals方法的定义一致的哈希码。
hashCode
在
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public abstract String toXMLFormat()
返回this
实例的词法表示。 格式在XML Schema 1.0 Part 2, Section 3.2.[7-14].1, Lexical Representation".中指定
具体的目标词汇表示格式由getXMLSchemaType()
确定 。
String
,表示此
XMLGregorianCalendar
IllegalStateException
- 如果设置字段的组合与八个定义的XML模式内置日期/时间数据类型中的一个不匹配。
public abstract QName getXMLSchemaType()
返回此实例映射到的XML模式日期/时间类型的名称。 类型根据设置的字段计算。
Required fields for XML Schema 1.0 Date/Time Datatypes.DatatypeConstants.DATETIME
X X X X X X DatatypeConstants.DATE
X X X DatatypeConstants.TIME
X X X DatatypeConstants.GYEARMONTH
X X DatatypeConstants.GMONTHDAY
X X DatatypeConstants.GYEAR
X DatatypeConstants.GMONTH
X DatatypeConstants.GDAY
X
DatatypeConstants.DATETIME
,
DatatypeConstants.TIME
,
DatatypeConstants.DATE
,
DatatypeConstants.GYEARMONTH
,
DatatypeConstants.GMONTHDAY
,
DatatypeConstants.GYEAR
,
DatatypeConstants.GMONTH
或
DatatypeConstants.GDAY
。
IllegalStateException
- 如果设置字段的组合与八个定义的XML模式内置日期/时间数据类型中的一个不匹配。
public String toString()
返回此String
Object的XMLGregorianCalendar
Object
。
结果是由toXMLFormat()
生成的词汇表示 。
toString
在
Object
null
有效的
String
表示此
XMLGregorianCalendar
。
IllegalStateException
- 如果集合字段的组合与八个定义的XML模式内置日期/时间数据类型中的一个不匹配。
toXMLFormat()
public abstract boolean isValid()
getXMLSchemaType()
约束。
public abstract void add(Duration duration)
将duration
添加到此实例。
计算在XML Schema 1.0 Part 2, Appendix E, Adding durations to dateTimes>中规定 。 date/time field mapping table定义了从XML Schema 1.0 dateTime
字段到这个类的这些字段的表示的映射。
duration
- 添加到这个
XMLGregorianCalendar
。
NullPointerException
- 当时
duration
参数是
null
。
public abstract GregorianCalendar toGregorianCalendar()
将此XMLGregorianCalendar
转换为GregorianCalendar
。
当this
实例具有未定义字段时,此转换依赖于其对应字段的java.util.GregorianCalendar
默认值。 XML模式1.0日期/时间数据类型之间的一个显着区别java.util.GregorianCalendar
是时区值是可选的日期/时间的数据类型和它是必填字段java.util.GregorianCalendar
。 请参阅的javadoc java.util.TimeZone.getDefault()
上默认是如何确定的。 要明确指定TimeZone
实例,请参阅toGregorianCalendar(TimeZone, Locale, XMLGregorianCalendar)
。
java.util.GregorianCalendar
java.util.GregorianCalendar
field javax.xml.datatype.XMLGregorianCalendar
field ERA
getEonAndYear()
.signum() < 0 ? GregorianCalendar.BC : GregorianCalendar.AD
YEAR
getEonAndYear()
.abs().intValue()
* MONTH
getMonth()
- DatatypeConstants.JANUARY
+ Calendar.JANUARY
DAY_OF_MONTH
getDay()
HOUR_OF_DAY
getHour()
MINUTE
getMinute()
SECOND
getSecond()
MILLISECOND
get millisecond order from getFractionalSecond()
* GregorianCalendar.setTimeZone(TimeZone)
getTimezone()
formatted into Custom timezone id
为了确保转换实现的一致性,新的GregorianCalendar
应以以下方式实例化。
timeZone
值,创建一个新的java.util.GregorianCalendar(timeZone,Locale.getDefault())
。 Calendar.clear()
初始化所有GregorianCalendar字段。 GregorianCalendar.setGregorianChange( new Date(Long.MIN_VALUE))
获取纯GregorianCalendar.setGregorianChange( new Date(Long.MIN_VALUE))
。 Calendar.set(int,int)
public abstract GregorianCalendar toGregorianCalendar(TimeZone timezone, Locale aLocale, XMLGregorianCalendar defaults)
将此XMLGregorianCalendar
与提供的XMLGregorianCalendar
一起转换为GregorianCalendar
实例。
由于XML Schema 1.0日期/时间数据类型没有时区ID或夏令时区域ids的概念,因此该转换操作允许用户明确指定一个具有timezone
参数的数据。
要计算返回值的TimeZone
字段,
timeZone
不为空时,它是时区域。 this.getTimezone() != FIELD_UNDEFINED
创建一个java.util.TimeZone
与自定义时区id使用this.getTimezone()
。 defaults.getTimezone() != FIELD_UNDEFINED
创建一个java.util.TimeZone
与自定义时区id使用defaults.getTimezone()
。 GregorianCalendar
主机的默认时区值由java.util.TimeZone.getDefault()
。 为确保转换实现的一致性,新的GregorianCalendar
应以以下方式实例化。
java.util.GregorianCalendar(TimeZone, Locale)
与TimeZone设置如上所述和Locale
参数。 Calendar.clear()
初始化所有GregorianCalendar字段 GregorianCalendar.setGregorianChange( new Date(Long.MIN_VALUE))
获取纯GregorianCalendar.setGregorianChange( new Date(Long.MIN_VALUE))
。 Calendar.set(int,int)
timezone
- 提供时区。
null
是一个合法的价值。
aLocale
- 提供显式的区域设置。
如果值为null
请使用默认的GregorianCalendar区域设置。
defaults
- 提供默认字段值以在此实例的对应字段为FIELD_UNDEFINED或为空时使用。
如果defaults
是null
或指定的内场defaults
是不确定的,只是用java.util.GregorianCalendar
默认值。
public abstract TimeZone getTimeZone(int defaultZoneoffset)
返回java.util.TimeZone
。
如果为此实例定义了时区字段,则返回TimeZone使用zoneoffset的自定义时区id初始化。 如果时区字段未定义,请尝试传入的defaultZoneoffset。如果defaultZoneoffset为FIELD_UNDEFINED,则返回此主机的默认时区。 (与java.util.GregorianCalendar相同)。
defaultZoneoffset
- 如果此zoneoffset为
DatatypeConstants.FIELD_UNDEFINED
,则为默认的
zoneoffset 。