public abstract class XMLGregorianCalendar extends Object implements Cloneable
W3C XML Schema 1.0 日時データ型の表現です。特にこれらの日時データ型は、XML 名前空間 "http://www.w3.org/2001/XMLSchema"
に定義されている DatatypeConstants.DATETIME
、DatatypeConstants.TIME
、DatatypeConstants.DATE
、DatatypeConstants.GYEARMONTH
、DatatypeConstants.GMONTHDAY
、DatatypeConstants.GYEAR
、DatatypeConstants.GMONTH
、および DatatypeConstants.GDAY
です。これらのデータ型は標準として「W3C XML Schema 1.0 Part 2」のセクション 3.2.7 - 3.2.14 に定義されています。
下の表に、XML Schema 1.0 の日時データ型フィールドとこのクラスのフィールドの対応づけを定義します。さらに、「W3C XML Schema 1.0 Part 2」の付録 D「ISO 8601 Date and Time Formats」に定義されている日時フィールドの値の制約についてもまとめています。
XML Schema 1.0 と Java 表現の日時データ型の対応づけ | ||
---|---|---|
XML Schema 1.0 データ型 フィールド |
関連の XMLGregorianCalendar アクセサ |
値の範囲 |
year | getYear() + getEon() またはgetEonAndYear()
|
getYear() は、-(10^9-1) から (10^9)-1 の値または DatatypeConstants.FIELD_UNDEFINED 。getEon() は、数十億年単位の大きい桁の年の値。getEon() は、(10^9) 以上または -(10^9) 以下の値を格納する。null の値はフィールドが定義されていないことを示す。0 年が XML スキーマの将来のバージョンで有効な字句値となると XML Schema 1.0 errata に記載されている場合、このクラスでは year フィールドをゼロに設定できる。そうでない場合は、year フィールドの値は正誤表および「SO-8601-1988」に記載されているとおりに処理される。W3C XML Schema 1.0 検証は、year フィールドの値がゼロになることを許可しない。
|
month | getMonth() |
1 - 12 または DatatypeConstants.FIELD_UNDEFINED |
day | getDay() |
月と関係なく、最大の範囲は 1 から 31、または DatatypeConstants.FIELD_UNDEFINED 。「W3C XML Schema 1.0 Part 2」の付録 D に month フィールドの値に関する基準値の制約についての説明がある。 |
hour | getHour() |
0 - 23 または DatatypeConstants.FIELD_UNDEFINED 。minute フィールド値と second フィールド値がゼロの場合、字句領域で hour 値 24 を設定できる。ただし、hour 値 24 は値領域では許可されず、「XML Schema Part 2: Datatypes Second Edition」のプリミティブデータ型に関する 3.2 に従って次の日の最初のインスタンスの値を表すよう変換される。
|
minute | getMinute() |
0 - 59 または DatatypeConstants.FIELD_UNDEFINED |
second |
getSecond() + getMillisecond() /1000 またはgetSecond() + getFractionalSecond()
|
0 -60 の getSecond() または DatatypeConstants.FIELD_UNDEFINED 。(注: 60 はうるう秒に対してのみ許可される。) getSecond() が定義されている場合は、getFractionalSecond() に 0.0 - 1.0 の範囲の無限精度を使用できる。FractionalSecond はオプションで、定義されていない場合は null の値となる。getMillisecond() は、getFractionalSecond() の値の便宜上のミリ秒の精度。
|
timezone | getTimezone() |
分数または DatatypeConstants.FIELD_UNDEFINED 。-14 時間 (-14 * 60 分) から 14 時間 (14 * 60 分) の範囲の値。
|
前述の表のフィールドに示されたすべての最大値領域制限は、このクラスのファクトリメソッド、@{link DatatypeFactory}、設定メソッド、および構文解析メソッドによってチェックされます。パラメータの値がフィールドの値制限外の場合、あるいは複合値によって無効な XMLGregorianCalendar インスタンスが構成される場合は、IllegalArgumentException
がスローされます (たとえば、6 月 31 日が指定された場合などです)。
このクラスでは、次の処理が定義されます。
toString()
、DatatypeFactory.newXMLGregorianCalendar(String lexicalRepresentation)
の変換GregorianCalendar
、toGregorianCalendar(java.util.TimeZone timezone, java.util.Locale aLocale, XMLGregorianCalendar defaults)
、DatatypeFactory
の変換compare(XMLGregorianCalendar xmlGregorianCalendar)
compare(XMLGregorianCalendar xmlGregorianCalendar)
に関して定義された equals(Object)
。Duration
インスタンスによる加算演算。
Duration
, DatatypeFactory
コンストラクタと説明 |
---|
XMLGregorianCalendar()
デフォルトの引数なしのコンストラクタです。
|
修飾子と型 | メソッドと説明 |
---|---|
abstract void |
add(Duration duration)
このインスタンスに
duration を追加します。 |
abstract void |
clear()
すべてのフィールドを未定義に設定解除します。
|
abstract Object |
clone()
このオブジェクトのコピーを作成して、返します。
|
abstract int |
compare(XMLGregorianCalendar xmlGregorianCalendar)
「W3C XML Schema 1.0 Part 2」のセクション 3.2.7.3「Order relation on dateTime」に定義された部分順序リレーションに従って、W3C XML Schema 1.0 日時データ型の 2 つのインスタンスを比較します。
|
boolean |
equals(Object obj)
このカレンダを指定されたオブジェクトと比較します。
|
abstract int |
getDay()
日または
DatatypeConstants.FIELD_UNDEFINED を返します。 |
abstract BigInteger |
getEon()
year の XML Schema 1.0 dataTime データ型フィールドの上位コンポーネントを返します。 |
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()
year の XML Schema 1.0 dateTime データ型フィールドの下位コンポーネントまたは DatatypeConstants.FIELD_UNDEFINED を返します。 |
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)
1 単位として時間を設定します。
|
void |
setTime(int hour, int minute, int second, BigDecimal fractional)
オプションの無限精度の小数点以下の秒を含む時間を 1 単位として設定します。
|
void |
setTime(int hour, int minute, int second, int millisecond)
オプションのミリ秒を含めて、時間を 1 単位として設定します。
|
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 を GregorianCalendar インスタンスに変換します。 |
String |
toString()
この
XMLGregorianCalendar Object の String 表現を返します。 |
abstract String |
toXMLFormat()
this インスタンスの字句表現を返します。 |
public XMLGregorianCalendar()
注:XMLGregorianCalendar
のインスタンスを構築するには、常に DatatypeFactory
を使用します。このクラス上のコンストラクタは、一貫した状態のオブジェクトを生成するとは保証されておらず、将来削除される可能性があります。
public abstract void clear()
すべてのフィールドを未定義に設定解除します。
すべての 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
の再使用を許可するように設計されているため、新しい XMLGregorianCalendar
の作成に関連するリソースを節約できます。
public abstract void setYear(BigInteger year)
XSD dateTime
年フィールドの下位および上位コンポーネントを設定します。
null
のパラメータ値で設定メソッドを呼び出して、このフィールドの設定を解除します。
year
- 値の制約については「日時フィールド対応表の年フィールド」にまとめられている。IllegalArgumentException
- year
パラメータが「日時フィールド対応表」に指定したフィールドの値の制限の範囲外の場合。public abstract void setYear(int year)
XSD dateTime
年フィールドの年を設定します。
DatatypeConstants.FIELD_UNDEFINED
のパラメータ値で設定メソッドを呼び出して、このフィールドの設定を解除します。
注:year
パラメータの絶対値が 10^9 より小さい場合、XSD 年フィールドの eon コンポーネントはこのメソッドによって null
に設定されます。
year
- 値の制約については「日時フィールド対応表の年フィールド」にまとめられている。年が DatatypeConstants.FIELD_UNDEFINED
の場合、eon は null
に設定される。public abstract void setMonth(int month)
月を設定します。
DatatypeConstants.FIELD_UNDEFINED
のパラメータ値で設定メソッドを呼び出して、このフィールドの設定を解除します。
month
- 値の制約については「日時フィールド対応表の月フィールド」にまとめられている。IllegalArgumentException
- month
パラメータが「日時フィールド対応表」に指定したフィールドの値の制限の範囲外の場合。public abstract void setDay(int day)
月の日数を設定します。
DatatypeConstants.FIELD_UNDEFINED
のパラメータ値で設定メソッドを呼び出して、このフィールドの設定を解除します。
day
- 値の制約については「日時フィールド対応表の日フィールド」にまとめられている。IllegalArgumentException
- day
パラメータが「日時フィールド対応表」に指定したフィールドの値の制限の範囲外の場合。public abstract void setTimezone(int offset)
タイムゾーンオフセットに分数を設定します。
DatatypeConstants.FIELD_UNDEFINED
のパラメータ値で設定メソッドを呼び出して、このフィールドの設定を解除します。
offset
- 値の制約については「日時フィールド対応表のタイムゾーンフィールド」にまとめられている。IllegalArgumentException
- offset
パラメータが「日時フィールド対応表」に指定したフィールドの値の制限の範囲外の場合。public void setTime(int hour, int minute, int second)
1 単位として時間を設定します。
hour
- 値の制約については「日時フィールド対応表の時間フィールド」にまとめられている。minute
- 値の制約については「日時フィールド対応表の分フィールド」にまとめられている。second
- 値の制約については「日時フィールド対応表の秒フィールド」にまとめられている。IllegalArgumentException
- 任意のパラメータが「日時フィールド対応表」に指定したフィールドの値の制限の範囲外の場合。setTime(int, int, int, BigDecimal)
public abstract void setHour(int hour)
時間を設定します。
DatatypeConstants.FIELD_UNDEFINED
のパラメータ値で設定メソッドを呼び出して、このフィールドの設定を解除します。
hour
- 値の制約については「日時フィールド対応表の時間フィールド」にまとめられている。IllegalArgumentException
- hour
パラメータが「日時フィールド対応表」に指定したフィールドの値の制限の範囲外の場合。public abstract void setMinute(int minute)
分を設定します。
DatatypeConstants.FIELD_UNDEFINED
のパラメータ値で設定メソッドを呼び出して、このフィールドの設定を解除します。
minute
- 値の制約については「日時フィールド対応表の分フィールド」にまとめられている。IllegalArgumentException
- minute
パラメータが「日時フィールド対応表」に指定したフィールドの値の制限の範囲外の場合。public abstract void setSecond(int second)
秒を設定します。
DatatypeConstants.FIELD_UNDEFINED
のパラメータ値で設定メソッドを呼び出して、このフィールドの設定を解除します。
second
- 値の制約については「日時フィールド対応表の秒フィールド」にまとめられている。IllegalArgumentException
- second
パラメータが「日時フィールド対応表」に指定したフィールドの値の制限の範囲外の場合。public abstract void setMillisecond(int millisecond)
ミリ秒を設定します。
DatatypeConstants.FIELD_UNDEFINED
のパラメータ値で設定メソッドを呼び出して、このフィールドの設定を解除します。
millisecond
- 値の制約については「日時フィールド対応表の秒フィールド」にまとめられている。IllegalArgumentException
- millisecond
パラメータが「日時フィールド対応表」に指定したフィールドの値の制限の範囲外の場合。public abstract void setFractionalSecond(BigDecimal fractional)
小数点以下の秒を設定します。
null
のパラメータ値で設定メソッドを呼び出して、このフィールドの設定を解除します。
fractional
- 値の制約については「日時フィールド対応表の秒フィールド」にまとめられている。IllegalArgumentException
- fractional
パラメータが「日時フィールド対応表」に指定したフィールドの値の制限の範囲外の場合。public void setTime(int hour, int minute, int second, BigDecimal fractional)
オプションの無限精度の小数点以下の秒を含む時間を 1 単位として設定します。
hour
- 値の制約については「日時フィールド対応表の時間フィールド」にまとめられている。minute
- 値の制約については「日時フィールド対応表の分フィールド」にまとめられている。second
- 値の制約については「日時フィールド対応表の秒フィールド」にまとめられている。fractional
- null
の値はこのオプションのフィールドが設定されていないことを示す。IllegalArgumentException
- 任意のパラメータが「日時フィールド対応表」に指定したフィールドの値の制限の範囲外の場合。public void setTime(int hour, int minute, int second, int millisecond)
オプションのミリ秒を含めて、時間を 1 単位として設定します。
hour
- 値の制約については「日時フィールド対応表の時間フィールド」にまとめられている。minute
- 値の制約については「日時フィールド対応表の分フィールド」にまとめられている。second
- 値の制約については「日時フィールド対応表の秒フィールド」にまとめられている。millisecond
- DatatypeConstants.FIELD_UNDEFINED
の値はこのオプションのフィールドが設定されていないことを示す。IllegalArgumentException
- 任意のパラメータが「日時フィールド対応表」に指定したフィールドの値の制限の範囲外の場合。public abstract BigInteger getEon()
year
の XML Schema 1.0 dateTime データ型フィールドの上位コンポーネントを返します。この year フィールドのオプションの部分が定義されていない場合は null
を返します。
この値の制約については、「日時フィールド対応表の年フィールド」にまとめられています。
XMLGregorianCalendar
の eon。戻り値は 10^9 の整数倍。getYear()
, getEonAndYear()
public abstract int getYear()
year
の XML Schema 1.0 dateTime データ型フィールドの下位コンポーネントまたは DatatypeConstants.FIELD_UNDEFINED
を返します。
この値の制約については、「日時フィールド対応表の年フィールド」にまとめられています。
XMLGregorianCalendar
の年。getEon()
, getEonAndYear()
public abstract BigInteger getEonAndYear()
year
の XML Schema 1.0 dateTime データ型フィールドを返します。
この値の制約については、「日時フィールド対応表の年フィールド」にまとめられています。
public abstract int getMonth()
月数または DatatypeConstants.FIELD_UNDEFINED
を返します。
この値の制約については、「日時フィールド対応表の月フィールド」にまとめられています。
XMLGregorianCalendar
の年。public abstract int getDay()
DatatypeConstants.FIELD_UNDEFINED
を返します。
この値の制約については、「日時フィールド対応表の日フィールド」にまとめられています。
setDay(int)
public abstract int getTimezone()
DatatypeConstants.FIELD_UNDEFINED
を返します。
この値の制約については、「日時フィールド対応表のタイムゾーンフィールド」にまとめられています。
setTimezone(int)
public abstract int getHour()
DatatypeConstants.FIELD_UNDEFINED
を返します。このフィールドが定義されていない場合は DatatypeConstants.FIELD_UNDEFINED
を返します。
この値の制約については、「日時フィールド対応表の時間フィールド」にまとめられています。
public abstract int getMinute()
DatatypeConstants.FIELD_UNDEFINED
を返します。
このフィールドが定義されていない場合は DatatypeConstants.FIELD_UNDEFINED
を返します。
この値の制約については、「日時フィールド対応表の分フィールド」にまとめられています。
public abstract int getSecond()
秒または DatatypeConstants.FIELD_UNDEFINED
を返します。
このフィールドが定義されていない場合は DatatypeConstants.FIELD_UNDEFINED
を返します。このフィールドが定義されていない場合、getFractionalSecond()
および getMillisecond()
で表されるオプションの xs:dateTime 小数点以下の秒フィールドを定義できません。
この値の制約については、「日時フィールド対応表の秒フィールド」にまとめられています。
XMLGregorianCalendar
の秒。getFractionalSecond()
, getMillisecond()
, setTime(int, int, int)
public int getMillisecond()
getFractionalSecond()
のミリ秒の精度を返します。
このメソッドは、getFractionalSecond()
によって返される無限精度の小数点以下の秒の値への簡易アクセス用メソッドです。戻り値は、getFractionalSecond()
のミリ秒の値に切り下げられます。getFractionalSecond()
が null
を返す場合、このメソッドは DatatypeConstants.FIELD_UNDEFINED
を返す必要があります。
この値の制約については、「日時フィールド対応表の秒フィールド」にまとめられています。
XMLGregorianCalendar
のミリ秒。getFractionalSecond()
, setTime(int, int, int)
public abstract BigDecimal getFractionalSecond()
小数点以下の秒を返します。
このオプションフィールドが定義されていない場合は、null
を返します。
値の制約については、「日時フィールド対応表の秒フィールド」に詳しく説明しています。
このオプションのフィールドは、getSecond()
によって表される xs:dateTime 秒フィールドが DatatypeConstants.FIELD_UNDEFINED
を返さない場合にのみ、定義された値を持つことができます。
XMLGregorianCalendar
の小数点以下の秒。getSecond()
, setTime(int, int, int, BigDecimal)
public abstract int compare(XMLGregorianCalendar xmlGregorianCalendar)
「W3C XML Schema 1.0 Part 2」のセクション 3.2.7.3「Order relation on dateTime」に定義された部分順序リレーションに従って、W3C XML Schema 1.0 日時データ型の 2 つのインスタンスを比較します。
このクラスのアクセス用メソッドに対応する xsd:dateTime
データ型については「日時フィールド対応表」に定義しています。
xmlGregorianCalendar
- 比較する XMLGregorianCalendar
のインスタンスDatatypeConstants.LESSER
、DatatypeConstants.EQUAL
、DatatypeConstants.GREATER
、または DatatypeConstants.INDETERMINATE
として指定された xmlGregorianCalendar
と this
XMLGregorianCalendar
の関係。NullPointerException
- xmlGregorianCalendar
が null である場合。public abstract XMLGregorianCalendar normalize()
このインスタンスを UTC に正規化します。
2000-03-04T23:00:00+03:00 は、2000-03-04T20:00:00Z に正規化されます。
「W3C XML Schema 1.0 Part 2 のセクション 3.2.7.3 (A)」を実装します。
this
UTC に正規化された XMLGregorianCalendar
。public boolean equals(Object obj)
このカレンダを指定されたオブジェクトと比較します。引数が null でなく、このオブジェクトと同じ時点を表す XMLGregorianCalendar
オブジェクトである場合にだけ、結果は true
になります。
equals
、クラス: Object
obj
- 比較する対象。obj
が XMLGregorianCalendar
のインスタンスであり、compare(XMLGregorianCalendar obj)
が DatatypeConstants.EQUAL
を返す場合は true
、それ以外の場合は 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」のセクション 3.2.[7-14] 1「Lexical Representation」に指定されています。
特定の目的の字句表現形式は getXMLSchemaType()
によって判断します。
XMLGregorianCalendar
の String
表現としての XMLIllegalStateException
- 設定フィールドの組み合わせが、定義された 8 つの XML Schema 日時データ型のいずれかに一致しない場合。public abstract QName getXMLSchemaType()
このインスタンスが対応する XML Schema 日時型の名前を返します。型は設定されるフィールドに基づいて計算されます。
XML Schema 1.0 日時データ型の必須フィールド。 (すべての日時データ型でタイムゾーンはオプション) |
||||||
---|---|---|---|---|---|---|
データ型 | year | month | day | hour | minute | second |
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
- 設定フィールドの組み合わせが、定義された 8 つの XML Schema 日時データ型のいずれかに一致しない場合。public String toString()
この XMLGregorianCalendar
Object
の String
表現を返します。
この結果は、toXMLFormat()
によって生成された字句表現です。
toString
、クラス: Object
XMLGregorianCalendar
の null
以外の有効な String
表現。IllegalStateException
- 設定フィールドの組み合わせが、定義された 8 つの XML Schema 日時データ型のいずれかに一致しない場合。toXMLFormat()
public abstract boolean isValid()
getXMLSchemaType()
定数によって、インスタンスを検証します。public abstract void add(Duration duration)
このインスタンスに duration
を追加します。
この計算は「XML Schema 1.0 Part 2」の付録 E「Adding durations to dateTimes」に指定されています。「日時対応表」に XML Schema 1.0 dateTime
フィールドとこのクラスのそれらのフィールドの表現の対応を定義しています。
duration
- この XMLGregorianCalendar
に追加する Duration。NullPointerException
- duration
パラメータが null
の場合。public abstract GregorianCalendar toGregorianCalendar()
この XMLGregorianCalendar
を GregorianCalendar
に変換します。
this
インスタンスに未定義フィールドがある場合、この変換は java.util.GregorianCalendar
の対応するフィールドのデフォルトに依存します。XML Schema 1.0 日時データ型と java.util.GregorianCalendar
の主な違いは、Timezone 値が日時データ型ではオプションで、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) |
カスタムタイムゾーン ID にフォーマットされた getTimezone() |
変換の実装の一貫性を確保するため、新しい GregorianCalendar
は次のようにインスタンス化される必要があります。
timeZone
値を使用し、新しい java.util.GregorianCalendar(timeZone,Locale.getDefault())
を作成する。
Calendar.clear()
を呼び出して、すべての GregorianCalendar フィールドを初期化する。GregorianCalendar.setGregorianChange( new Date(Long.MIN_VALUE))
を呼び出して、純粋なグレゴリオ暦を取得する。Calendar.set(int,int)
メソッドを使用して、フィールド ERA、YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY、MINUTE、SECOND、および MILLISECOND を設定するpublic abstract GregorianCalendar toGregorianCalendar(TimeZone timezone, Locale aLocale, XMLGregorianCalendar defaults)
提供されたパラメータに従って、この XMLGregorianCalendar
を GregorianCalendar
インスタンスに変換します。
XML Schema 1.0 日時データ型には、タイムゾーン ID やサマータイムのタイムゾーン ID の概念がないため、この変換処理によって、ユーザーは timezone
パラメータで明示的にタイムゾーン ID を指定できます。
戻り値の TimeZone
フィールドは次のように計算されます。
timeZone
が null でない場合、タイムゾーンフィールドである。this.getTimezone() != FIELD_UNDEFINED
のとき、this.getTimezone()
を使用して、カスタムタイムゾーン ID で java.util.TimeZone
を作成する。defaults.getTimezone() != FIELD_UNDEFINED
のとき、defaults.getTimezone()
を使用して、カスタムタイムゾーン ID で java.util.TimeZone
を作成する。java.util.TimeZone.getDefault()
によって指定されているように、ホストが定義されている場合に、GregorianCalendar
デフォルトタイムゾーン値を使用する。変換の実装の一貫性を確保するため、新しい GregorianCalendar
は次のようにインスタンス化される必要があります。
Locale
パラメータで、新しい java.util.GregorianCalendar(TimeZone, Locale)
を作成する。
Calendar.clear()
を呼び出して、すべてのGregorianCalendar フィールドを初期化するGregorianCalendar.setGregorianChange( new Date(Long.MIN_VALUE))
を呼び出して、純粋なグレゴリオ暦を取得する。Calendar.set(int,int)
メソッドを使用して、フィールド ERA、YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY、MINUTE、SECOND、および MILLISECOND を設定するtimezone
- タイムゾーンを指定する。null
は有効な値。aLocale
- 明示的なロケールを指定する。値が null
の場合は、デフォルトの GregorianCalendar ロケールを使用する。defaults
- このインスタンスの対応するフィールドが FIELD_UNDEFINED または null の場合に使用するデフォルトのフィールド値を指定する。defaults
が null
の場合または指定された defaults
内のフィールドが定義されていない場合、java.util.GregorianCalendar
のデフォルトを使用する。public abstract TimeZone getTimeZone(int defaultZoneoffset)
このクラスの java.util.TimeZone
を返します。
このインスタンスのタイムゾーンフィールドが定義されている場合は、ゾーンオフセットのカスタムタイムゾーン ID で初期化された TimeZone を返します。タイムゾーンフィールドが定義されていない場合は、渡された defaultZoneoffset を試みます。defaultZoneoffset が FIELD_UNDEFINED の場合は、このホストのデフォルトのタイムゾーンを返します。これは、java.util.GregorianCalendar のデフォルトと同じです。
defaultZoneoffset
- このゾーンオフセットが DatatypeConstants.FIELD_UNDEFINED
である場合は、デフォルトのゾーンオフセット。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.