- java.lang.Object
-
- javax.xml.datatype.XMLGregorianCalendar
-
- All Implemented Interfaces:
-
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 Schema 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)
。 - 在W3C XML Schema 1.0 Part 2, Appendix E, Adding durations to dateTimes中定义的
Duration
实例的加法运算。
- 从以下版本开始:
- 1.5
- 另请参见:
-
Duration
,DatatypeFactory
-
-
构造方法摘要
构造方法 Constructor 描述 XMLGregorianCalendar()
默认的无参数构造函数。
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 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模式日期/时间类型的名称。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()
默认的无参数构造函数。注意:始终使用
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
s的创建相关的资源。
-
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中 。 如果年份为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
。month field of date/time field mapping table总结了该值的价值约束。
- 结果
-
这个月
XMLGregorianCalendar
,从1到12。
-
getDay
public abstract int getDay()
返回月份的日期或DatatypeConstants.FIELD_UNDEFINED
。day field of date/time field mapping table总结了该值的价值约束。
- 结果
-
这个月的日子是
XMLGregorianCalendar
,从1到31。 - 另请参见:
-
setDay(int)
-
getTimezone
public abstract int getTimezone()
如果未定义此可选字段,则返回分钟内的时区偏移量(DatatypeConstants.FIELD_UNDEFINED
) 。- 结果
-
时区偏移量为
XMLGregorianCalendar
。 - 另请参见:
-
setTimezone(int)
-
getHour
public abstract int getHour()
如果未定义该字段,则返回一小时或DatatypeConstants.FIELD_UNDEFINED
。- 结果
-
这个
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
。价值约束详见second field of date/time field mapping table 。
当这个可选字段在
getSecond()
表示的xs:dateTime第二个字段不返回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模式第2部分,第3.2.7.3节(A)。
- 结果
-
this
XMLGregorianCalendar
标准化为UTC。
-
equals
public boolean equals(Object obj)
将此日历与指定的对象进行比较。 结果是true
如果且仅当参数不为空,并且是表示与此对象相同的时间的一个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,as
String
,表示此XMLGregorianCalendar
- 异常
-
IllegalStateException
- 如果设置字段的组合与八个定义的XML模式内置日期/时间数据类型中的一个不匹配。
-
getXMLSchemaType
public abstract QName getXMLSchemaType()
返回此实例映射到的XML模式日期/时间类型的名称。 类型根据设置的字段计算。 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
- 如果集合字段的组合与八个定义的XML模式内置日期/时间数据类型中的一个不匹配。
-
toString
public String toString()
返回此XMLGregorianCalendar
Object
的String
表示。结果是由
toXMLFormat()
生成的词汇表示。- 重写:
-
toString
在Object
- 结果
-
A
null
有效String
表示XMLGregorianCalendar
。 - 异常
-
IllegalStateException
- 如果设置字段的组合与八个定义的XML模式内置日期/时间数据类型中的一个不匹配。 - 另请参见:
-
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
之间的显着差异在于,Timezone值对于日期/时间数据类型是可选的,它是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或夏令时区域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))
获取纯公历。 - 其字段ERA,YEAR,MONTH,DAY_OF_MONTH,HOUR_OF_DAY,MINUTE,SECOND和MILLISECOND均使用方法
Calendar.set(int,int)
- 参数
-
timezone
- 提供时区。null
是一个合法的价值。 -
aLocale
- 提供显式的区域设置。 如果值为null
请使用默认的GregorianCalendar语言环境。 -
defaults
- 提供用于此实例的相应字段为FIELD_UNDEFINED或为空的默认字段值。 如果defaults
是null
或指定的defaults
一个字段是未定义的,那么只需使用java.util.GregorianCalendar
默认值。 - 结果
- 这个实例的java.util.GregorianCalendar转换。
- 当参数
-
getTimeZone
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 。 - 结果
- TimeZone为此。
-
-