- 所有已实现的接口:
-
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第2部分第3.2.7-14节中被规范定义。
下表定义了XML Schema 1.0日期/时间数据类型字段与此类字段之间的映射。它还总结了在W3C XML Schema 1.0第2部分附录D,ISO 8601日期和时间格式中定义的日期和时间字段的值约束。
XML Schema 1.0 数据类型 字段 |
相关的 XMLGregorianCalendar 访问器 |
值范围 |
---|---|---|
年 | getYear() + getEon() 或getEonAndYear() |
getYear() 的值介于-(10^9-1)到(10^9)-1之间或DatatypeConstants.FIELD_UNDEFINED 。getEon() 是十亿年中的高阶年份值。getEon() 的值大于或等于(10^9)或小于或等于-(10^9)。null值表示字段未定义。鉴于XML Schema 1.0勘误指出,零年将是将来版本的XML Schema中的有效词法值,此类允许将年字段设置为零。否则,年字段值将按照勘误和[ISO-8601-1988]中描述的方式处理。请注意,W3C XML Schema 1.0验证不允许年字段的值为零。 |
月 | getMonth() |
1到12或DatatypeConstants.FIELD_UNDEFINED |
日 | getDay() |
独立于月份,最大范围为1到31或DatatypeConstants.FIELD_UNDEFINED 。相对于月份字段值的规范值约束在W3C XML Schema 1.0第2部分附录D中说明。 |
小时 | getHour() |
0到23或DatatypeConstants.FIELD_UNDEFINED 。允许将小时值设置为24,前提是分钟和秒字段值为零。但是,小时值为24在值空间中不允许,并将被转换为表示第二天第一个实例的值,根据XML Schema第2部分:数据类型第二版,3.2原始数据类型。 |
分钟 | getMinute() |
0到59或DatatypeConstants.FIELD_UNDEFINED |
秒 | getSecond() + getMillisecond() /1000或getSecond() + getFractionalSecond() |
getSecond() 从0到60或DatatypeConstants.FIELD_UNDEFINED 。(注意:60仅允许闰秒。) getFractionalSecond() 允许在定义getSecond() 时在0.0到1.0的范围内具有无限精度。FractionalSecond 是可选的,当未定义时其值为null 。getMillisecond() 是getFractionalSecond() 的方便毫秒精度值。 |
时区 | getTimezone() |
分钟数或DatatypeConstants.FIELD_UNDEFINED 。值范围从-14小时(-14 * 60分钟)到14小时(14 * 60分钟)。 |
上表中字段的所有最大值空间约束由工厂方法、DatatypeFactory
的setter方法和解析方法检查。当参数值超出字段的值约束或组合值构成无效的XMLGregorianCalendar实例时,将抛出IllegalArgumentException
异常(例如,如果指定了6月31日)。
为此类定义了以下操作:
- 独立日期/时间字段的访问器/修改器
- 此类与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)
定义。- 使用
Duration
实例的加法操作,如W3C XML Schema 1.0第2部分附录E,将持续时间添加到日期时间中定义。
- 自1.5起:
- 1.5
- 参见:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract void
将duration
添加到此实例。abstract void
clear()
将所有字段重置为未定义状态。abstract Object
clone()
创建并返回此对象的副本。abstract int
compare
(XMLGregorianCalendar xmlGregorianCalendar) 根据在W3C XML Schema 1.0第2部分第3.2.7.3节,日期时间的顺序关系中定义的部分顺序关系比较两个W3C XML Schema 1.0日期/时间数据类型实例。boolean
将此日历与指定对象进行比较。abstract int
getDay()
返回月份的日期或DatatypeConstants.FIELD_UNDEFINED
。abstract BigInteger
getEon()
返回year
的XML Schema 1.0日期时间数据类型字段的高阶组件。abstract BigInteger
返回year
的XML Schema 1.0日期时间数据类型字段。abstract BigDecimal
返回分数秒。abstract int
getHour()
返回一天中的小时或如果未定义此字段则返回DatatypeConstants.FIELD_UNDEFINED
。int
返回getFractionalSecond()
的毫秒精度。abstract int
返回小时的分钟或如果未定义此字段则返回DatatypeConstants.FIELD_UNDEFINED
。abstract int
getMonth()
返回此日历的月份或DatatypeConstants.FIELD_UNDEFINED
。abstract int
返回分钟的秒或如果未定义此字段则返回DatatypeConstants.FIELD_UNDEFINED
。abstract int
返回分钟的时区偏移量或如果未定义此可选字段则返回DatatypeConstants.FIELD_UNDEFINED
。abstract TimeZone
getTimeZone
(int defaultZoneoffset) 为此类返回一个java.util.TimeZone
。abstract QName
返回此实例映射到的XML Schema日期/时间类型的名称。abstract int
getYear()
返回year
的XML Schema 1.0日期时间数据类型字段的低阶组件或DatatypeConstants.FIELD_UNDEFINED
。int
hashCode()
返回与equals方法定义一致的哈希码。abstract boolean
isValid()
通过getXMLSchemaType()
约束验证实例。abstract XMLGregorianCalendar
将此实例规范化为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
将此XMLGregorianCalendar
转换为GregorianCalendar
。abstract GregorianCalendar
toGregorianCalendar
(TimeZone timezone, Locale aLocale, XMLGregorianCalendar defaults) 将此XMLGregorianCalendar
与提供的参数一起转换为GregorianCalendar
实例。toString()
返回此XMLGregorianCalendar
对象的String
表示形式。abstract String
返回this
实例的词法表示。
-
Constructor Details
-
XMLGregorianCalendar
public XMLGregorianCalendar()默认无参构造函数。注意:始终使用
DatatypeFactory
来构造XMLGregorianCalendar
的实例。此类上的构造函数不能保证生成具有一致状态的对象,并且可能在将来被移除。
-
-
Method Details
-
clear
public abstract void clear()将所有字段重置为未定义。将所有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
,从而节省与创建新XMLGregorianCalendar
相关的资源。 -
setYear
设置XSDdateTime
年字段的低位和高位组件。通过使用参数值
null
调用setter来取消此字段。- 参数:
-
year
- 值约束总结在日期/时间字段映射表的年字段中。 - 抛出:
-
IllegalArgumentException
- 如果year
参数超出日期/时间字段映射表中指定的字段的值约束。
-
setYear
public abstract void setYear(int year) 设置XSDdateTime
年字段的年份。通过使用参数值
DatatypeConstants.FIELD_UNDEFINED
调用setter来取消此字段。注意:如果
year
参数的绝对值小于10^9,则此方法将将XSD年字段的纪元组件设置为null
。- 参数:
-
year
- 值约束总结在日期/时间字段映射表的年字段中。如果年份为DatatypeConstants.FIELD_UNDEFINED
,则纪元设置为null
。
-
setMonth
public abstract void setMonth(int month) 设置月份。通过使用参数值
DatatypeConstants.FIELD_UNDEFINED
调用setter来取消此字段。- 参数:
-
month
- 值约束总结在日期/时间字段映射表的月份字段中。 - 抛出:
-
IllegalArgumentException
- 如果month
参数超出日期/时间字段映射表中指定的字段的值约束。
-
setDay
public abstract void setDay(int day) 设置月份中的天数。通过使用参数值
DatatypeConstants.FIELD_UNDEFINED
调用setter来取消此字段。- 参数:
-
day
- 值约束总结在日期/时间字段映射表的天字段中。 - 抛出:
-
IllegalArgumentException
- 如果day
参数超出日期/时间字段映射表中指定的字段的值约束。
-
setTimezone
public abstract void setTimezone(int offset) 设置时区偏移的分钟数。通过使用参数值
DatatypeConstants.FIELD_UNDEFINED
调用setter来取消此字段。- 参数:
-
offset
- 值约束总结在日期/时间字段映射表的时区字段中。 - 抛出:
-
IllegalArgumentException
- 如果offset
参数超出日期/时间字段映射表中指定的字段的值约束。
-
setTime
public void setTime(int hour, int minute, int second) 将时间设置为一个单位。- 参数:
-
hour
- 值约束总结在日期/时间字段映射表的小时字段中。 -
minute
- 值约束总结在日期/时间字段映射表的分钟字段中。 -
second
- 值约束总结在日期/时间字段映射表的秒字段中。 - 抛出:
-
IllegalArgumentException
- 如果任何参数超出日期/时间字段映射表中指定的字段的值约束。 - 参见:
-
setHour
public abstract void setHour(int hour) 设置小时。通过使用参数值
DatatypeConstants.FIELD_UNDEFINED
调用setter来取消此字段。- 参数:
-
hour
- 值约束总结在日期/时间字段映射表的小时字段中。 - 抛出:
-
IllegalArgumentException
- 如果hour
参数超出日期/时间字段映射表中指定的字段的值约束。
-
setMinute
public abstract void setMinute(int minute) 设置分钟。通过使用参数值
DatatypeConstants.FIELD_UNDEFINED
调用setter来取消此字段。- 参数:
-
minute
- 值约束总结在日期/时间字段映射表的分钟字段中。 - 抛出:
-
IllegalArgumentException
- 如果minute
参数超出日期/时间字段映射表中指定的字段的值约束。
-
setSecond
public abstract void setSecond(int second) 设置秒数。通过使用参数值
DatatypeConstants.FIELD_UNDEFINED
调用setter来取消此字段。- 参数:
-
second
- 值约束总结在日期/时间字段映射表的秒字段中。 - 抛出:
-
IllegalArgumentException
- 如果second
参数超出日期/时间字段映射表中指定的字段的值约束。
-
setMillisecond
public abstract void setMillisecond(int millisecond) 设置毫秒数。通过使用参数值
DatatypeConstants.FIELD_UNDEFINED
调用setter来取消此字段。- 参数:
-
毫秒
- 值约束总结在日期/时间字段映射表的秒字段中。 - 抛出:
-
IllegalArgumentException
- 如果毫秒
参数超出了在日期/时间字段映射表中指定的字段的值约束。
-
setFractionalSecond
设置小数秒。通过使用参数值
null
调用setter来取消此字段。- 参数:
-
小数
- 值约束总结在日期/时间字段映射表的秒字段中。 - 抛出:
-
IllegalArgumentException
- 如果小数
参数超出了在日期/时间字段映射表中指定的字段的值约束。
-
setTime
设置时间作为一个单位,包括可选的无限精度小数秒。- 参数:
-
小时
- 值约束总结在日期/时间字段映射表的小时字段中。 -
分钟
- 值约束总结在日期/时间字段映射表的分钟字段中。 -
秒
- 值约束总结在日期/时间字段映射表的秒字段中。 -
小数
-null
的值表示此可选字段未设置。 - 抛出:
-
IllegalArgumentException
- 如果任何参数超出了在日期/时间字段映射表中指定的字段的值约束。
-
setTime
public void setTime(int hour, int minute, int second, int millisecond) 设置时间作为一个单位,包括可选的毫秒。- 参数:
-
小时
- 值约束总结在日期/时间字段映射表的小时字段中。 -
分钟
- 值约束总结在日期/时间字段映射表的分钟字段中。 -
秒
- 值约束总结在日期/时间字段映射表的秒字段中。 -
毫秒
-DatatypeConstants.FIELD_UNDEFINED
的值表示此可选字段未设置。 - 抛出:
-
IllegalArgumentException
- 如果任何参数超出了在日期/时间字段映射表中指定的字段的值约束。
-
getEon
- 返回:
-
此
XMLGregorianCalendar
的纪元。返回的值是10^9的整数倍。 - 参见:
-
getYear
public abstract int getYear()- 返回:
-
此
XMLGregorianCalendar
的年份。 - 参见:
-
getEonAndYear
返回XML Schema 1.0日期时间数据类型字段年
。此值的值约束总结在日期/时间字段映射表的年字段中。
- 返回:
-
当两个字段都定义时,返回
纪元
和BigInteger.valueOf(年份)
的总和。当只定义了年份
时,返回它。当纪元
和年份
都未定义时,返回null
。 - 参见:
-
getMonth
public abstract int getMonth()返回此日历的月份或DatatypeConstants.FIELD_UNDEFINED
。此值的值约束总结在日期/时间字段映射表的月份字段中。
- 返回:
-
此
XMLGregorianCalendar
的月份,从1到12。
-
getDay
public abstract int getDay()返回月份中的日期或DatatypeConstants.FIELD_UNDEFINED
。此值的值约束总结在日期/时间字段映射表的日期字段中。
- 返回:
-
此
XMLGregorianCalendar
的月份中的日期,从1到31。 - 参见:
-
getTimezone
public abstract int getTimezone()返回时区偏移量(以分钟为单位)或DatatypeConstants.FIELD_UNDEFINED
,如果未定义此可选字段。此值的值约束总结在日期/时间字段映射表的时区字段中。
- 返回:
-
此
XMLGregorianCalendar
的时区偏移量(以分钟为单位)。 - 参见:
-
getHour
public abstract int getHour()返回一天中的小时数或DatatypeConstants.FIELD_UNDEFINED
,如果未定义此字段。此值的值约束总结在日期/时间字段映射表的小时字段中。
- 返回:
-
此
XMLGregorianCalendar
的一天中的小时数,从0到23。 - 参见:
-
getMinute
public abstract int getMinute()返回小时中的分钟数或DatatypeConstants.FIELD_UNDEFINED
,如果未定义此字段。此值的值约束总结在日期/时间字段映射表的分钟字段中。
- 返回:
-
此
XMLGregorianCalendar
的小时中的分钟数,从0到59。 - 参见:
-
getSecond
public abstract int getSecond()返回分钟中的秒数或DatatypeConstants.FIELD_UNDEFINED
,如果未定义此字段。当未定义此字段时,不得定义由getFractionalSecond()
和getMillisecond()
表示的可选xs:dateTime小数秒字段。此值的值约束总结在日期/时间字段映射表的秒字段中。
- 返回:
-
此
XMLGregorianCalendar
的分钟中的秒数,从0到59。 - 参见:
-
getMillisecond
public int getMillisecond()返回getFractionalSecond()
的毫秒精度。此方法表示
getFractionalSecond()
返回的无限精度小数秒值的方便访问器。返回的值是getFractionalSecond()
的向下舍入到毫秒的值。当getFractionalSecond()
返回null
时,此方法必须返回DatatypeConstants.FIELD_UNDEFINED
。此值的值约束总结在日期/时间字段映射表的秒字段中。
- 返回:
-
此
XMLGregorianCalendar
的毫秒精度。 - 参见:
-
getFractionalSecond
返回小数秒。当未定义此可选字段时,返回
null
。值约束详细说明在日期/时间字段映射表的秒字段中。
当xs:dateTime秒字段,由
getSecond()
表示,不返回DatatypeConstants.FIELD_UNDEFINED
时,此可选字段只能具有定义的值。- 返回:
-
此
XMLGregorianCalendar
的小数秒。 - 参见:
-
compare
按照在W3C XML Schema 1.0第2部分,第3.2.7.3节,dateTime上的顺序关系中定义的部分顺序关系,比较两个W3C XML Schema 1.0日期/时间数据类型的实例。xsd:dateTime
数据类型字段映射到此类的访问器在日期/时间字段映射表中定义。- 参数:
-
xmlGregorianCalendar
- 要比较的XMLGregorianCalendar
实例 - 返回:
-
this
XMLGregorianCalendar
与指定的xmlGregorianCalendar
之间的关系为DatatypeConstants.LESSER
、DatatypeConstants.EQUAL
、DatatypeConstants.GREATER
或DatatypeConstants.INDETERMINATE
。 - 抛出:
-
NullPointerException
- 如果xmlGregorianCalendar
为null。
-
normalize
将此实例标准化为UTC。2000-03-04T23:00:00+03:00标准化为2000-03-04T20:00:00Z
实现W3C XML Schema第2部分,第3.2.7.3节(A)。
- 返回:
-
标准化为UTC的
this
XMLGregorianCalendar
。
-
equals
将此日历与指定对象进行比较。结果为true
当且仅当参数不为null且为代表与此对象相同时间点的XMLGregorianCalendar
对象时。- 覆盖:
-
equals
在类Object
中 - 参数:
-
obj
- 要比较的对象。 - 返回:
-
当
obj
是XMLGregorianCalendar
的实例且compare(XMLGregorianCalendar obj)
返回DatatypeConstants.EQUAL
时返回true
,否则返回false
。 - 参见:
-
hashCode
public int hashCode()返回与equals方法的定义一致的哈希码。 -
toXMLFormat
- 返回:
-
此
XMLGregorianCalendar
的XML字符串表示形式 - 抛出:
-
IllegalStateException
- 如果设置字段的组合不匹配八个定义的XML Schema内置日期/时间数据类型之一。
-
getXMLSchemaType
返回此实例映射到的XML Schema日期/时间类型的名称。类型根据设置的字段计算。XML Schema 1.0日期/时间数据类型所需的字段。
(时区对于所有日期/时间数据类型都是可选的)数据类型 年 月 日 小时 分钟 秒 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 Schema内置日期/时间数据类型之一。
-
toString
- 覆盖:
-
toString
在类Object
中 - 返回:
-
一个非
null
有效的String
表示形式的XMLGregorianCalendar
。 - 抛出:
-
IllegalStateException
- 如果设置字段的组合不匹配八个定义的XML Schema内置日期/时间数据类型之一。 - 参见:
-
isValid
public abstract boolean isValid()通过getXMLSchemaType()
约束验证实例。- 返回:
- 如果数据值有效,则为true。
-
add
将duration
添加到此实例。计算在XML Schema 1.0第2部分,附录E,将持续时间添加到日期时间中指定。日期/时间字段映射表定义了从XML Schema 1.0
dateTime
字段到该类表示这些字段的映射。- 参数:
-
duration
- 要添加到此XMLGregorianCalendar
的持续时间。 - 抛出:
-
NullPointerException
- 当duration
参数为null
时。
-
toGregorianCalendar
将此XMLGregorianCalendar
转换为GregorianCalendar
。当
this
实例具有未定义字段时,此转换依赖于java.util.GregorianCalendar
对应字段的默认值。 XML Schema 1.0日期/时间数据类型与java.util.GregorianCalendar
之间的一个显着区别是,日期/时间数据类型的时区值是可选的,而对于java.util.GregorianCalendar
是一个必填字段。请参阅java.util.TimeZone.getDefault()
的javadoc,了解如何确定默认值。要明确指定TimeZone
实例,请参见toGregorianCalendar(TimeZone, Locale, XMLGregorianCalendar)
。从此类到 java.util.GregorianCalendar
的逐字段转换java.util.GregorianCalendar
字段javax.xml.datatype.XMLGregorianCalendar
字段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
从 getFractionalSecond()
获取毫秒顺序*GregorianCalendar.setTimeZone(TimeZone)
getTimezone()
格式化为自定义时区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)
设置
- 返回:
-
一个
GregorianCalendar
实例。 - 参见:
- 使用上述定义的
-
toGregorianCalendar
public abstract GregorianCalendar toGregorianCalendar(TimeZone timezone, Locale aLocale, XMLGregorianCalendar defaults) 将此XMLGregorianCalendar
与提供的参数一起转换为GregorianCalendar
实例。由于XML Schema 1.0日期/时间数据类型没有时区ID或夏令时时区ID的概念,此转换操作允许用户使用
timezone
参数明确指定一个。计算返回值的
TimeZone
字段时,- 当参数
timeZone
非空时,它是时区字段。 - 否则,当
this.getTimezone() != FIELD_UNDEFINED
时,使用this.getTimezone()
创建一个带有自定义时区ID的java.util.TimeZone
。 - 否则,当
defaults.getTimezone() != FIELD_UNDEFINED
时,使用defaults.getTimezone()
创建一个带有自定义时区ID的java.util.TimeZone
。 - 否则,使用主机的
GregorianCalendar
默认时区值,如java.util.TimeZone.getDefault()
所指定。
为确保转换实现的一致性,应以以下方式实例化新的
GregorianCalendar
。- 使用上述指定的TimeZone和
Locale
参数创建一个新的java.util.GregorianCalendar(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
- 提供显式Locale。如果值为null
,则使用默认的GregorianCalendar locale。 -
defaults
- 在此实例的相应字段为FIELD_UNDEFINED或null时使用的默认字段值。如果defaults
为null
或指定的defaults
中的字段未定义,则只使用java.util.GregorianCalendar
的默认值。 - 返回:
- 此实例的java.util.GregorianCalendar转换。
- 当参数
-
getTimeZone
返回此类的java.util.TimeZone
。如果此实例的时区字段已定义,则返回使用zoneoffset的自定义时区ID初始化的TimeZone。如果时区字段未定义,则尝试使用传入的defaultZoneoffset。如果defaultZoneoffset为FIELD_UNDEFINED,则返回主机的默认时区(与java.util.GregorianCalendar相同)。
- 参数:
-
defaultZoneoffset
- 如果此zoneoffset为DatatypeConstants.FIELD_UNDEFINED
,则使用默认zoneoffset。 - 返回:
- 此时区的TimeZone。
-
clone
创建并返回此对象的副本。
-