- java.lang.Object
-
- javax.xml.datatype.XMLGregorianCalendar
-
- 实现的所有接口
-
Cloneable
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.0
datatype
field Related
XMLGregorianCalendar
Accessor(s) Value Range yeargetYear()
+getEon()
or
getEonAndYear()
getYear()
is a value between -(10^9-1) to (10^9)-1 orDatatypeConstants.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.
Given that XML Schema 1.0 errata states that the year zero will be a valid lexical value in a future version of XML Schema, this class allows the year field to be set to zero. Otherwise, the year field value is handled exactly as described in the errata and [ISO-8601-1988]. Note that W3C XML Schema 1.0 validation does not allow for the year field to have a value of zero. monthgetMonth()
1 to 12 orDatatypeConstants.FIELD_UNDEFINED
daygetDay()
Independent of month, max range is 1 to 31 orDatatypeConstants.FIELD_UNDEFINED
.
The normative value constraint stated relative to month field's value is in W3C XML Schema 1.0 Part 2, Appendix D. hourgetHour()
0 to 23 orDatatypeConstants.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. minutegetMinute()
0 to 59 orDatatypeConstants.FIELD_UNDEFINED
secondgetSecond()
+getMillisecond()
/1000 or
getSecond()
+getFractionalSecond()
getSecond()
from 0 to 60 orDatatypeConstants.FIELD_UNDEFINED
.
(Note: 60 only allowable for leap second.)
getFractionalSecond()
allows for infinite precision over the range from 0.0 to 1.0 when thegetSecond()
is defined.
FractionalSecond
is optional and has a value ofnull
when it is undefined.
getMillisecond()
is the convenience millisecond precision of value ofgetFractionalSecond()
. timezonegetTimezone()
Number of minutes orDatatypeConstants.FIELD_UNDEFINED
. Value range from -14 hours (-14 * 60 minutes) to 14 hours (14 * 60 minutes).通过工厂方法,
DatatypeFactory
,setter方法和此类的解析方法检查上表中字段列出的所有最大值空间约束。 当参数的值超出字段的值约束或者复合值构成无效的XMLGregorianCalendar实例时(例如,如果指定了6月31日),则抛出IllegalArgumentException
。为此类定义了以下操作:
- 独立日期/时间字段的访问者/变更者
- 这个类和W3C XML模式之间转换1.0词汇表示,
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 。
- 从以下版本开始:
- 1.5
- 另请参见:
-
Duration
,DatatypeFactory
-
-
构造方法摘要
构造方法 构造器 描述 XMLGregorianCalendar()
默认的no-arg构造函数。
-
方法摘要
所有方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 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()
返回year
XML Schema 1.0 dateTime数据类型字段的year
。abstract BigInteger
getEonAndYear()
返回year
的XML Schema 1.0 dateTime数据类型字段。abstract BigDecimal
getFractionalSecond()
返回小数秒。abstract int
getHour()
如果未定义此字段,则返回一天中的小时或DatatypeConstants.FIELD_UNDEFINED
。int
getMillisecond()
返回毫秒精度getFractionalSecond()
。abstract int
getMinute()
如果未定义此字段,则返回小时或DatatypeConstants.FIELD_UNDEFINED
。abstract int
getMonth()
返回此日历的月份或DatatypeConstants.FIELD_UNDEFINED
。abstract int
getSecond()
如果未定义此字段,则返回分钟的第二个或DatatypeConstants.FIELD_UNDEFINED
。abstract int
getTimezone()
如果 未定义此可选字段,则返回以分钟为单位的时区偏移量或DatatypeConstants.FIELD_UNDEFINED
。abstract TimeZone
getTimeZone(int defaultZoneoffset)
返回java.util.TimeZone
。abstract QName
getXMLSchemaType()
返回此实例映射到的XML Schema日期/时间类型的名称。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, int millisecond)
将时间设置为一个单位,包括可选的毫秒数。void
setTime(int hour, int minute, int second, BigDecimal fractional)
将时间设置为一个单位,包括可选的无限精度小数秒。abstract void
setTimezone(int offset)
设置时区偏移量的分钟数。abstract void
setYear(int year)
设置年份XSDdateTime
年字段。abstract void
setYear(BigInteger year)
设置XSDdateTime
年字段的低位和高位分量。abstract GregorianCalendar
toGregorianCalendar()
将此XMLGregorianCalendar
转换为GregorianCalendar
。abstract GregorianCalendar
toGregorianCalendar(TimeZone timezone, Locale aLocale, XMLGregorianCalendar defaults)
将此XMLGregorianCalendar
与提供的参数一起转换为GregorianCalendar
实例。String
toString()
返回String
如此表示XMLGregorianCalendar
Object
。abstract String
toXMLFormat()
返回this
实例的词法表示。
-
-
-
构造方法详细信息
-
XMLGregorianCalendar
public XMLGregorianCalendar()
默认的no-arg构造函数。注意:始终使用
DatatypeFactory
构造的一个实例XMLGregorianCalendar
。 无法保证此类上的构造函数生成具有一致状态的对象,并且将来可能会将其删除。
-
-
方法详细信息
-
clear
public abstract void clear()
取消将所有字段取消设置为undefined。将所有int字段设置为
DatatypeConstants.FIELD_UNDEFINED
,将引用字段设置为null。
-
reset
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
相关的资源。
-
setYear
public abstract void setYear(BigInteger year)
设置XSDdateTime
年字段的低位和高位分量。通过调用参数值为
null
的setter取消设置此字段。- 参数
-
year
- 值限制在 year field of date/time field mapping table中 汇总 。 - 异常
-
IllegalArgumentException
- 如果year
参数超出 date/time field mapping table中指定的字段的值约束。
-
setYear
public abstract void setYear(int year)
设置年份XSDdateTime
年份字段。通过调用参数值为
DatatypeConstants.FIELD_UNDEFINED
的setter取消设置此字段。注意:如果
year
参数的绝对值小于10 ^ 9,则此方法将XSD年份字段的eon组件设置为null
。- 参数
-
year
- 值约束总结在year field of date/time field mapping table中 。 如果year为DatatypeConstants.FIELD_UNDEFINED
,则eon设置为null
。
-
setMonth
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中指定的字段的值约束。
-
setDay
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中指定的字段的值约束。
-
setTimezone
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中指定的字段的值约束。
-
setTime
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)
-
setHour
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中指定的字段的值约束。
-
setMinute
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中指定的字段的值约束。
-
setSecond
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中指定的字段的值约束。
-
setMillisecond
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中指定的字段的值约束。
-
setFractionalSecond
public abstract void setFractionalSecond(BigDecimal fractional)
设置小数秒。通过调用参数值为
null
的setter取消设置此字段。- 参数
-
fractional
- 值限制在 second field of date/time field mapping table中 汇总 。 - 异常
-
IllegalArgumentException
- 如果fractional
参数超出 date/time field mapping table中指定的字段的值约束。
-
setTime
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中指定的字段的值约束。
-
setTime
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中指定的字段的值约束。
-
getEon
public abstract BigInteger getEon()
返回year
XML Schema 1.0 dateTime数据类型字段的year
。null
如果未定义年份字段的此可选部分。该值的值约束总结在year field of date/time field mapping table中 。
- 结果
-
这个
XMLGregorianCalendar
的eon。 返回的值是10 ^ 9的整数倍。 - 另请参见:
-
getYear()
,getEonAndYear()
-
getYear
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()
-
getEonAndYear
public abstract BigInteger getEonAndYear()
返回year
的XML Schema 1.0 dateTime数据类型字段。该值的值约束总结在year field of date/time field mapping table中 。
-
getMonth
public abstract int getMonth()
返回此日历的月份或DatatypeConstants.FIELD_UNDEFINED
。- 结果
-
这个月的
XMLGregorianCalendar
,从1到12。
-
getDay
public abstract int getDay()
返回月份的日期或DatatypeConstants.FIELD_UNDEFINED
。该值的值约束总结在day field of date/time field mapping table中 。
- 结果
-
XMLGregorianCalendar
的这XMLGregorianCalendar
,从1到31。 - 另请参见:
-
setDay(int)
-
getTimezone
public abstract int getTimezone()
如果未定义此可选字段,则返回以分钟为单位的时区偏移量或DatatypeConstants.FIELD_UNDEFINED
。- 结果
-
XMLGregorianCalendar
的时区偏移量,以分钟为XMLGregorianCalendar
。 - 另请参见:
-
setTimezone(int)
-
getHour
public abstract int getHour()
如果未定义此字段,则返回一天中的小时或DatatypeConstants.FIELD_UNDEFINED
。该值的值约束总结在hour field of date/time field mapping table中 。
- 结果
-
这个时间是
XMLGregorianCalendar
,从0到23。 - 另请参见:
-
setTime(int, int, int)
-
getMinute
public abstract int getMinute()
如果未定义此字段,则返回小时分钟或DatatypeConstants.FIELD_UNDEFINED
。- 结果
-
这个
XMLGregorianCalendar
的小时,从0到59。 - 另请参见:
-
setTime(int, int, int)
-
getSecond
public abstract int getSecond()
如果未定义此字段,则返回分钟的第二个或DatatypeConstants.FIELD_UNDEFINED
。 如果未定义此字段,则不得定义由getFractionalSecond()
和getMillisecond()
表示的可选xs:dateTime小数秒字段。- 结果
-
XMLGregorianCalendar
的第二分钟,从0到59。 - 另请参见:
-
getFractionalSecond()
,getMillisecond()
,setTime(int, int, int)
-
getMillisecond
public int getMillisecond()
返回毫秒精度getFractionalSecond()
。此方法表示
getFractionalSecond()
返回的无限精度小数秒值的便利访问器 。 返回值是向下舍入到毫秒值getFractionalSecond()
。 当getFractionalSecond()
返回null
,此方法必须返回DatatypeConstants.FIELD_UNDEFINED
。- 结果
-
这个
XMLGregorianCalendar
的毫秒精度。 - 另请参见:
-
getFractionalSecond()
,setTime(int, int, int)
-
getFractionalSecond
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)
-
compare
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
为空。
-
normalize
public abstract XMLGregorianCalendar normalize()
将此实例规范化为UTC。2000-03-04T23:00:00 + 03:00标准化为2000-03-04T20:00:00Z
实现W3C XML Schema第2部分,第3.2.7.3节(A)。
- 结果
-
this
XMLGregorianCalendar
标准化为UTC。
-
equals
public boolean equals(Object obj)
将此日历与指定对象进行比较。 结果为true
当且仅当参数不为null且是一个XMLGregorianCalendar
对象时,该对象表示与此对象相同的时刻。- 重写:
-
equals
在类Object
- 参数
-
obj
- 比较。 - 结果
-
true
当obj
是一个实例XMLGregorianCalendar
个compare(XMLGregorianCalendar obj)
回报DatatypeConstants.EQUAL
,否则false
。 - 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
public int hashCode()
返回与equals方法的定义一致的哈希码。- 重写:
-
hashCode
,类Object
- 结果
- 该对象的哈希码。
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
toXMLFormat
public abstract String toXMLFormat()
返回this
实例的词法表示。 格式在XML Schema 1.0 Part 2, Section 3.2.[7-14].1, Lexical Representation".中指定特定目标词汇表示格式由
getXMLSchemaType()
确定。- 结果
-
XML,如
String
,表示XMLGregorianCalendar
- 异常
-
IllegalStateException
- 如果set字段的组合与八个定义的XML Schema内置日期/时间数据类型之一不匹配。
-
getXMLSchemaType
public abstract QName getXMLSchemaType()
返回此实例映射到的XML Schema日期/时间类型的名称。 类型是根据设置的字段计算的。 Required fields for XML Schema 1.0 Date/Time Datatypes.
(timezone is optional for all date/time datatypes) Datatype year month day hour minute secondDatatypeConstants.DATETIME
X X X X X XDatatypeConstants.DATE
X X XDatatypeConstants.TIME
X X XDatatypeConstants.GYEARMONTH
X XDatatypeConstants.GMONTHDAY
X XDatatypeConstants.GYEAR
XDatatypeConstants.GMONTH
XDatatypeConstants.GDAY
X- 结果
-
以下其中一个类常量:
DatatypeConstants.DATETIME
,DatatypeConstants.TIME
,DatatypeConstants.DATE
,DatatypeConstants.GYEARMONTH
,DatatypeConstants.GMONTHDAY
,DatatypeConstants.GYEAR
,DatatypeConstants.GMONTH
或DatatypeConstants.GDAY
。 - 异常
-
IllegalStateException
- 如果set字段的组合与八个定义的XML Schema内置日期/时间数据类型之一不匹配。
-
toString
public String toString()
返回String
表示XMLGregorianCalendar
Object
。结果是由
toXMLFormat()
生成的词汇表示。- 重写:
-
toString
在类Object
- 结果
-
非
null
此XMLGregorianCalendar
有效String
表示XMLGregorianCalendar
。 - 异常
-
IllegalStateException
- 如果set字段的组合与八个定义的XML Schema内置日期/时间数据类型之一不匹配。 - 另请参见:
-
toXMLFormat()
-
isValid
public abstract boolean isValid()
通过getXMLSchemaType()
约束验证实例。- 结果
- 如果数据值有效,则为true。
-
add
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
。
-
toGregorianCalendar
public abstract GregorianCalendar toGregorianCalendar()
将此XMLGregorianCalendar
转换为GregorianCalendar
。当
Field by Field Conversion from this class tothis
实例具有未定义字段时,此转换依赖于其相应字段的java.util.GregorianCalendar
默认值。 XML Schema 1。java.util.GregorianCalendar
期/时间数据类型与java.util.GregorianCalendar
之间的显着区别是,时区值对于日期/时间数据类型是可选的,它是java.util.GregorianCalendar
的必填字段。 有关如何确定默认值的信息,请参阅javadoc forjava.util.TimeZone.getDefault()
。 要显式指定TimeZone
实例,请参阅toGregorianCalendar(TimeZone, Locale, XMLGregorianCalendar)
。java.util.GregorianCalendar
java.util.GregorianCalendar
fieldjavax.xml.datatype.XMLGregorianCalendar
fieldERA
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 fromgetFractionalSecond()
*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))
获取纯格里高利历。 - 其字段ERA,YEAR,MONTH,DAY_OF_MONTH,HOUR_OF_DAY,MINUTE,SECOND和MILLISECOND使用方法
Calendar.set(int,int)
进行设置
- 使用上面定义的
-
toGregorianCalendar
public abstract GregorianCalendar toGregorianCalendar(TimeZone timezone, Locale aLocale, XMLGregorianCalendar defaults)
将此XMLGregorianCalendar
与提供的参数一起转换为GregorianCalendar
实例。由于XML Schema 1。0日期/时间日期类型没有时区ID或夏令时时区ID的概念,因此此转换操作允许用户使用
timezone
参数显式指定一个。要计算返回值的
TimeZone
字段,- 当参数
timeZone
为非null时,它是时区字段。 - 否则在
this.getTimezone() != FIELD_UNDEFINED
,使用java.util.TimeZone
创建带有自定义时区ID的this.getTimezone()
。 - 否则当
defaults.getTimezone() != FIELD_UNDEFINED
,创建java.util.TimeZone
使用自定义时区IDdefaults.getTimezone()
。 - 否则使用
GregorianCalendar
主机的默认时区值定义为java.util.TimeZone.getDefault()
。
为确保转换实现的一致性,应以下列方式实例化新的
GregorianCalendar
。- 创建一个新的
java.util.GregorianCalendar(TimeZone, Locale)
上方,按规定与设定时区Locale
参数。 - 通过调用
Calendar.clear()
初始化所有GregorianCalendar字段 - 通过调用
GregorianCalendar.setGregorianChange( new Date(Long.MIN_VALUE))
获取纯格里高利历。 - 其字段ERA,YEAR,MONTH,DAY_OF_MONTH,HOUR_OF_DAY,MINUTE,SECOND和MILLISECOND使用方法
Calendar.set(int,int)
进行设置
- 参数
-
timezone
- 提供时区。null
是合法值。 -
aLocale
- 提供显式语言环境。 如果值为null
请使用默认的GregorianCalendar语言环境。 -
defaults
- 提供此实例的相应字段为FIELD_UNDEFINED或null时要使用的默认字段值。 如果defaults
是null
或指定的defaults
的字段未定义,java.util.GregorianCalendar
使用java.util.GregorianCalendar
默认值。 - 结果
- 此实例的java.util.GregorianCalendar转换。
- 当参数
-
getTimeZone
public abstract TimeZone getTimeZone(int defaultZoneoffset)
返回java.util.TimeZone
。如果为此实例定义了timezone字段,则返回使用zoneoffset的自定义时区ID初始化的TimeZone。 如果未定义timezone字段,请尝试传入的defaultZoneoffset。如果defaultZoneoffset为FIELD_UNDEFINED,则返回此主机的默认时区。 (与java.util.GregorianCalendar相同)。
- 参数
-
defaultZoneoffset
- 如果此zoneoffset为DatatypeConstants.FIELD_UNDEFINED
,则为默认的 zoneoffset 。 - 结果
- TimeZone为此。
-
-