- java.lang.Object
-
- javax.xml.datatype.XMLGregorianCalendar
-
- すべての実装されたインタフェース:
Cloneable
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の付録DISO 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分)の範囲の値。上記の表のフィールドにリストされているすべての最大値スペース制約は、このクラスのファクトリ・メソッド、
DatatypeFactory
、setterメソッド、およびparseメソッドによってチェックされます。 パラメータの値がフィールドの値制限外の場合、あるいは複合値によって無効な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)
compare(XMLGregorianCalendar xmlGregorianCalendar)
に関して定義されたequals(Object)
。- W3C XML Schema 1.0 Part 2の付録EAdding durations to dateTimesに定義された
Duration
インスタンスによる加算演算。
- 導入されたバージョン:
- 1.5
- 関連項目:
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 dateTimeデータ型フィールドの上位コンポーネントを返します。abstract BigInteger
getEonAndYear()
year
のXMLスキーマ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()
このフィールドが定義されていない場合、minuteまたは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
またはDatatypeConstants.FIELD_UNDEFINED
のXML Schema 1.0 dateTimeデータ型フィールドの下位コンポーネントを返します。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, int millisecond)
オプションのミリ秒を含めて、時間を1単位として設定します。void
setTime(int hour, int minute, int second, BigDecimal fractional)
オプションの無限精度の小数点以下の秒を含む時間を1単位として設定します。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()
このXMLGregorianCalendar
Object
のString
表現を返します。abstract String
toXMLFormat()
this
インスタンスの字句表現を返します。
-
-
-
コンストラクタの詳細
-
XMLGregorianCalendar
public XMLGregorianCalendar()
デフォルトの引数なしのコンストラクタです。注:
XMLGregorianCalendar
のインスタンスを構築するには、常にDatatypeFactory
を使用します。 このクラス上のコンストラクタは、一貫した状態のオブジェクトを生成するとは保証されておらず、将来削除される可能性があります。
-
-
メソッドの詳細
-
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
public abstract void setYear(BigInteger year)
XSDdateTime
年フィールドの下位および上位コンポーネントを設定します。null
のパラメータ値で設定メソッドを呼び出して、このフィールドの設定を解除します。- パラメータ:
year
- 値の制約については「日時フィールド対応表の年フィールド」にまとめられている。- 例外:
IllegalArgumentException
-year
パラメータが日時フィールド対応表に指定したフィールドの値の制限の範囲外の場合。
-
setYear
public abstract void setYear(int year)
XSDdateTime
年フィールドの年を設定します。DatatypeConstants.FIELD_UNDEFINED
のパラメータ値で設定メソッドを呼び出して、このフィールドの設定を解除します。注:
year
パラメータの絶対値が10^9より小さい場合、XSD年フィールドのeonコンポーネントはこのメソッドによってnull
に設定されます。- パラメータ:
year
- 値の制約については日時フィールド対応表の年フィールドにまとめられている。 年がDatatypeConstants.FIELD_UNDEFINED
の場合、eonはnull
に設定される。
-
setMonth
public abstract void setMonth(int month)
月を設定します。DatatypeConstants.FIELD_UNDEFINED
のパラメータ値で設定メソッドを呼び出して、このフィールドの設定を解除します。- パラメータ:
month
- 値の制約については「日時フィールド対応表の月フィールド」にまとめられている。- 例外:
IllegalArgumentException
-month
パラメータが日時フィールド対応表に指定したフィールドの値の制限の範囲外の場合。
-
setDay
public abstract void setDay(int day)
月の日数を設定します。DatatypeConstants.FIELD_UNDEFINED
のパラメータ値で設定メソッドを呼び出して、このフィールドの設定を解除します。- パラメータ:
day
- 値の制約については「日時フィールド対応表の日フィールド」にまとめられている。- 例外:
IllegalArgumentException
-day
パラメータが日時フィールド対応表に指定したフィールドの値の制限の範囲外の場合。
-
setTimezone
public abstract void setTimezone(int offset)
タイムゾーン・オフセットに分数を設定します。DatatypeConstants.FIELD_UNDEFINED
のパラメータ値で設定メソッドを呼び出して、このフィールドの設定を解除します。- パラメータ:
offset
- 値の制約については「日時フィールド対応表のタイムゾーン・フィールド」にまとめられている。- 例外:
IllegalArgumentException
-offset
パラメータが日時フィールド対応表に指定したフィールドの値の制限の範囲外の場合。
-
setTime
public void setTime(int hour, int minute, int second)
1単位として時間を設定します。- パラメータ:
hour
- 値の制約については「日時フィールド対応表の時間フィールド」にまとめられている。minute
- 値の制約については「日時フィールド対応表の分フィールド」にまとめられている。second
- 値の制約については「日時フィールド対応表の秒フィールド」にまとめられている。- 例外:
IllegalArgumentException
- 任意のパラメータが日時フィールド対応表に指定したフィールドの値の制限の範囲外の場合。- 関連項目:
setTime(int, int, int, BigDecimal)
-
setHour
public abstract void setHour(int hour)
時間を設定します。DatatypeConstants.FIELD_UNDEFINED
のパラメータ値で設定メソッドを呼び出して、このフィールドの設定を解除します。- パラメータ:
hour
- 値の制約については「日時フィールド対応表の時間フィールド」にまとめられている。- 例外:
IllegalArgumentException
-hour
パラメータが日時フィールド対応表に指定したフィールドの値の制限の範囲外の場合。
-
setMinute
public abstract void setMinute(int minute)
分を設定します。DatatypeConstants.FIELD_UNDEFINED
のパラメータ値で設定メソッドを呼び出して、このフィールドの設定を解除します。- パラメータ:
minute
- 値の制約については「日時フィールド対応表の分フィールド」にまとめられている。- 例外:
IllegalArgumentException
-minute
パラメータが日時フィールド対応表に指定したフィールドの値の制限の範囲外の場合。
-
setSecond
public abstract void setSecond(int second)
秒を設定します。DatatypeConstants.FIELD_UNDEFINED
のパラメータ値で設定メソッドを呼び出して、このフィールドの設定を解除します。- パラメータ:
second
- 値の制約については「日時フィールド対応表の秒フィールド」にまとめられている。- 例外:
IllegalArgumentException
-second
パラメータが日時フィールド対応表に指定したフィールドの値の制限の範囲外の場合。
-
setMillisecond
public abstract void setMillisecond(int millisecond)
ミリ秒を設定します。DatatypeConstants.FIELD_UNDEFINED
のパラメータ値で設定メソッドを呼び出して、このフィールドの設定を解除します。- パラメータ:
millisecond
- 値の制約については「日時フィールド対応表の秒フィールド」にまとめられている。- 例外:
IllegalArgumentException
-millisecond
パラメータが日時フィールド対応表に指定したフィールドの値の制限の範囲外の場合。
-
setFractionalSecond
public abstract void setFractionalSecond(BigDecimal fractional)
小数点以下の秒を設定します。null
のパラメータ値で設定メソッドを呼び出して、このフィールドの設定を解除します。- パラメータ:
fractional
- 値の制約については「日時フィールド対応表の秒フィールド」にまとめられている。- 例外:
IllegalArgumentException
-fractional
パラメータが日時フィールド対応表に指定したフィールドの値の制限の範囲外の場合。
-
setTime
public void setTime(int hour, int minute, int second, BigDecimal fractional)
オプションの無限精度の小数点以下の秒を含む時間を1単位として設定します。- パラメータ:
hour
- 値の制約については「日時フィールド対応表の時間フィールド」にまとめられている。minute
- 値の制約については「日時フィールド対応表の分フィールド」にまとめられている。second
- 値の制約については「日時フィールド対応表の秒フィールド」にまとめられている。fractional
-null
の値はこのオプションのフィールドが設定されていないことを示す。- 例外:
IllegalArgumentException
- 任意のパラメータが日時フィールド対応表に指定したフィールドの値の制限の範囲外の場合。
-
setTime
public void setTime(int hour, int minute, int second, int millisecond)
オプションのミリ秒を含めて、時間を1単位として設定します。- パラメータ:
hour
- 値の制約については「日時フィールド対応表の時間フィールド」にまとめられている。minute
- 値の制約については「日時フィールド対応表の分フィールド」にまとめられている。second
- 値の制約については「日時フィールド対応表の秒フィールド」にまとめられている。millisecond
-DatatypeConstants.FIELD_UNDEFINED
の値はこのオプションのフィールドが設定されていないことを示す。- 例外:
IllegalArgumentException
- 任意のパラメータが日時フィールド対応表に指定したフィールドの値の制限の範囲外の場合。
-
getEon
public abstract BigInteger getEon()
year
のXML Schema 1.0 dateTimeデータ型フィールドの上位コンポーネントを返します。null
年のフィールドのこのオプション部分が定義されていない場合。この値の制約については、「日時フィールド対応表の年フィールド」にまとめられています。
- 戻り値:
- この
XMLGregorianCalendar
の真実。 戻り値は10^9の整数倍。 - 関連項目:
getYear()
,getEonAndYear()
-
getYear
public abstract int getYear()
year
またはDatatypeConstants.FIELD_UNDEFINED
のXML Schema 1.0 dateTimeデータ型フィールドの下位コンポーネントを返します。この値の制約については、「日時フィールド対応表の年フィールド」にまとめられています。
- 戻り値:
- この
XMLGregorianCalendar
の年。 - 関連項目:
getEon()
,getEonAndYear()
-
getEonAndYear
public abstract BigInteger getEonAndYear()
year
のXMLスキーマ1.0のdateTimeデータ型フィールドを返します。この値の制約については、「日時フィールド対応表の年フィールド」にまとめられています。
-
getMonth
public abstract int getMonth()
このカレンダの月またはDatatypeConstants.FIELD_UNDEFINED
を返します。この値の制約については、「日時フィールド対応表の月フィールド」にまとめられています。
- 戻り値:
- この
XMLGregorianCalendar
の月(1から12まで)。
-
getDay
public abstract int getDay()
月の日またはDatatypeConstants.FIELD_UNDEFINED
を返します。この値の制約については、「日時フィールド対応表の日フィールド」にまとめられています。
- 戻り値:
- この
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()
このフィールドが定義されていない場合、minuteまたは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
を返します。値の制約については、「日時フィールド対応表の秒フィールド」に詳しく説明しています。
このオプションのフィールドは、
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」のセクション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である場合。
-
normalize
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
。
-
equals
public boolean equals(Object obj)
このカレンダを指定されたオブジェクトと比較します。 引数がnullでなく、このオブジェクトと同じ時点を表すXMLGregorianCalendar
オブジェクトである場合にだけ、結果はtrue
になります。- オーバーライド:
equals
、クラス:Object
- パラメータ:
obj
- 比較する対象。- 戻り値:
obj
がXMLGregorianCalendar
のインスタンスであり、compare(XMLGregorianCalendar obj)
がDatatypeConstants.EQUAL
を返す場合はtrue
、それ以外の場合は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」のセクション3.2.[7-14] 1「Lexical Representation」に指定されています。特定の目的の字句表現形式は
getXMLSchemaType()
によって判断します。- 戻り値:
- この
XMLGregorianCalendar
のString
表現としてのXML - 例外:
IllegalStateException
- 設定フィールドの組み合わせが、定義された8つのXML Schema日時データ型のいずれかに一致しない場合。
-
getXMLSchemaType
public abstract QName 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
- 設定フィールドの組み合わせが、定義された8つのXML Schema日時データ型のいずれかに一致しない場合。
-
toString
public String toString()
このXMLGregorianCalendar
Object
のString
表現を返します。この結果は、
toXMLFormat()
によって生成された字句表現です。- オーバーライド:
toString
、クラス:Object
- 戻り値:
- この
XMLGregorianCalendar
のnull
以外の有効なString
表現。 - 例外:
IllegalStateException
- 設定フィールドの組み合わせが、定義された8つのXML Schema日時データ型のいずれかに一致しない場合。- 関連項目:
toXMLFormat()
-
isValid
public abstract boolean isValid()
getXMLSchemaType()
定数によって、インスタンスを検証します。- 戻り値:
- データ値が有効な場合はtrue。
-
add
public abstract void add(Duration duration)
このインスタンスにduration
を追加します。計算は「XMLスキーマ1.0パート2、付録E、期間をdateTimesに追加」で指定されます。「日付/時間フィールド・マッピング表」は、XMLスキーマ1.0の
dateTime
フィールドからこれらのフィールドのこのクラス表現へのマッピングを定義します。- パラメータ:
duration
- このXMLGregorianCalendar
に追加するDuration。- 例外:
NullPointerException
-duration
パラメータがnull
の場合。
-
toGregorianCalendar
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を設定する
- 上記で定義したように
-
toGregorianCalendar
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
は次のようにインスタンス化される必要があります。- 上記に指定されたTimeZoneセットおよび
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
のデフォルトを使用する。- 戻り値:
- このインスタンスのjava.util.GregorianCalendar変換。
- パラメータ
-
getTimeZone
public abstract TimeZone getTimeZone(int defaultZoneoffset)
このクラスのjava.util.TimeZone
を返します。このインスタンスのタイムゾーン・フィールドが定義されている場合は、ゾーン・オフセットのカスタム・タイムゾーンIDで初期化されたTimeZoneを返します。 タイムゾーン・フィールドが定義されていない場合は、渡されたdefaultZoneoffsetを試みます。 defaultZoneoffsetがFIELD_UNDEFINEDの場合は、このホストのデフォルトのタイムゾーンを返します。 これは、java.util.GregorianCalendarのデフォルトと同じです。
- パラメータ:
defaultZoneoffset
- このゾーン・オフセットがDatatypeConstants.FIELD_UNDEFINED
である場合は、デフォルトのゾーン・オフセット。- 戻り値:
- このTimeZone。
-
-