- 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」の付録D「ISO 8601 Date and Time Formats」に定義されている日時フィールドの値の制約についてもまとめています。
XML Schema 1.0とJava表現の日時データ型の対応づけ XML Schema 1.0
データ型
フィールドRelated
XMLGregorianCalendar
Accessor(s)値の範囲 year getYear()+getEon()または
getEonAndYear()getYear()は、-(10^9-1)から(10^9)-1の値またはDatatypeConstants.FIELD_UNDEFINED。getEon()は、数十億年単位の大きい桁の年の値。getEon()は、(10^9)以上または -(10^9)以下の値を格納する。 nullの値はフィールドが定義されていないことを示す。
「XMLスキーマ1.0エラッタ」で、XMLスキーマの将来のバージョンで年0が有効な字句値であると指定されている場合、このクラスでは年フィールドをゼロに設定できます。 そうでない場合は、yearフィールドの値は正誤表および「SO-8601-1988」に記載されているとおりに処理される。 W3C XML Schema 1.0検証は、yearフィールドの値がゼロになることを許可しない。month getMonth()1 - 12または DatatypeConstants.FIELD_UNDEFINEDday getDay()月と関係なく、最大の範囲は1から31、または DatatypeConstants.FIELD_UNDEFINED。
月フィールドの値に対する基準値制約は、「W3C XML Schema 1.0 Part 2、付録D 」にあります。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_UNDEFINEDsecond getSecond()+getMillisecond()/1000または
getSecond()+getFractionalSecond()0 - 60の getSecond()またはDatatypeConstants.FIELD_UNDEFINED。
(Note: 60 only allowable for leap second.)getFractionalSecond()は、getSecond()が定義されている場合に、0.0から1.0までの範囲で無限の精度を可能にします。FractionalSecondはオプションであり、未定義の場合はnullの値を持ちます。getMillisecond()は、getFractionalSecond()の値のミリ秒単位の精度です。timezone 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) compare(XMLGregorianCalendar xmlGregorianCalendar)に関して定義されたequals(Object)。- 「W3C XML Schema 1.0 Part 2」の付録E「Adding durations to dateTimes」に定義された
Durationインスタンスによる加算演算。
- 導入されたバージョン:
- 1.5
- 関連項目:
Duration,DatatypeFactory
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 XMLGregorianCalendar()デフォルトの引数なしのコンストラクタです。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 abstract voidadd(Duration duration)このインスタンスにdurationを追加します。abstract voidclear()すべてのフィールドを未定義に設定解除します。abstract Objectclone()このオブジェクトのコピーを作成して、返します。abstract intcompare(XMLGregorianCalendar xmlGregorianCalendar)「W3C XML Schema 1.0 Part 2」のセクション3.2.7.3「Order relation on dateTime」に定義された部分順序リレーションに従って、W3C XML Schema 1.0日時データ型の2つのインスタンスを比較します。booleanequals(Object obj)このカレンダを指定されたオブジェクトと比較します。abstract intgetDay()日付またはDatatypeConstants.FIELD_UNDEFINEDを返します。abstract BigIntegergetEon()yearのXML Schema 1.0 dateTimeデータ型フィールドの上位コンポーネントを返します。abstract BigIntegergetEonAndYear()yearのXML Schema 1.0 dateTimeデータ型フィールドを返します。abstract BigDecimalgetFractionalSecond()小数秒を返します。abstract intgetHour()時間を返します。このフィールドが定義されていない場合はDatatypeConstants.FIELD_UNDEFINEDを返します。intgetMillisecond()getFractionalSecond()のミリ秒精度を返します。abstract intgetMinute()時間(分)またはDatatypeConstants.FIELD_UNDEFINED(このフィールドが定義されていない場合)を返します。abstract intgetMonth()このカレンダの月またはDatatypeConstants.FIELD_UNDEFINEDを返します。abstract intgetSecond()分単位の秒を返します。このフィールドが定義されていない場合はDatatypeConstants.FIELD_UNDEFINEDを返します。abstract intgetTimezone()タイムゾーン・オフセット(分)またはDatatypeConstants.FIELD_UNDEFINED(このオプション・フィールドが定義されていない場合)を返します。abstract TimeZonegetTimeZone(int defaultZoneoffset)このクラスのjava.util.TimeZoneを返します。abstract QNamegetXMLSchemaType()このインスタンスが対応するXML Schema日時型の名前を返します。abstract intgetYear()yearまたはDatatypeConstants.FIELD_UNDEFINEDのXML Schema 1.0 dateTimeデータ型フィールドの下位コンポーネントを返します。inthashCode()equalsメソッドの定義に一致するハッシュ・コードを返します。abstract booleanisValid()getXMLSchemaType()定数によって、インスタンスを検証します。abstract XMLGregorianCalendarnormalize()このインスタンスをUTCに正規化します。abstract voidreset()このXMLGregorianCalendarを元の値にリセットします。abstract voidsetDay(int day)月の日数を設定します。abstract voidsetFractionalSecond(BigDecimal fractional)小数点以下の秒を設定します。abstract voidsetHour(int hour)時間を設定します。abstract voidsetMillisecond(int millisecond)ミリ秒を設定します。abstract voidsetMinute(int minute)分を設定します。abstract voidsetMonth(int month)月を設定します。abstract voidsetSecond(int second)秒を設定します。voidsetTime(int hour, int minute, int second)1単位として時間を設定します。voidsetTime(int hour, int minute, int second, int millisecond)オプションのミリ秒を含めて、時間を1単位として設定します。voidsetTime(int hour, int minute, int second, BigDecimal fractional)オプションの無限精度の小数点以下の秒を含む時間を1単位として設定します。abstract voidsetTimezone(int offset)タイムゾーン・オフセットに分数を設定します。abstract voidsetYear(int year)XSDdateTime年フィールドの年を設定します。abstract voidsetYear(BigInteger year)XSDdateTime年フィールドの下位および上位コンポーネントを設定します。abstract GregorianCalendartoGregorianCalendar()このXMLGregorianCalendarをGregorianCalendarに変換します。abstract GregorianCalendartoGregorianCalendar(TimeZone timezone, Locale aLocale, XMLGregorianCalendar defaults)提供されたパラメータに従って、このXMLGregorianCalendarをGregorianCalendarインスタンスに変換します。StringtoString()このXMLGregorianCalendarObjectのString表現を返します。abstract StringtoXMLFormat()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データ型フィールドの上位コンポーネントを返します。yearフィールドのこのオプションの部分が定義されていない場合は、nullを返します。この値の制約については、「日時フィールド対応表の年フィールド」にまとめられています。
- 戻り値:
- この
XMLGregorianCalendarのeon。 戻り値は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 Schema 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()
分単位の秒を返します。このフィールドが定義されていない場合は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とthisXMLGregorianCalendarの関係。- 例外:
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)」を実装します。
- 戻り値:
thisUTCに正規化された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.DATETIMEX X X X X X DatatypeConstants.DATEX X X DatatypeConstants.TIMEX X X DatatypeConstants.GYEARMONTHX X DatatypeConstants.GMONTHDAYX X DatatypeConstants.GYEARX DatatypeConstants.GMONTHX DatatypeConstants.GDAYX - 戻り値:
- 次のクラス定数のいずれか:
DatatypeConstants.DATETIME、DatatypeConstants.TIME、DatatypeConstants.DATE、DatatypeConstants.GYEARMONTH、DatatypeConstants.GMONTHDAY、DatatypeConstants.GYEAR、DatatypeConstants.GMONTH、またはDatatypeConstants.GDAY。 - 例外:
IllegalStateException- 設定フィールドの組み合わせが、定義された8つのXML Schema日時データ型のいずれかに一致しない場合。
-
toString
public String toString()
このXMLGregorianCalendarObjectの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 Schema 1.0 Part 2、 Appendix E、 Adding durations to dateTimesで指定されます。 日付/時間フィールド・マッピング表は、XML Schema 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フィールドERAgetEonAndYear().signum() < 0 ? GregorianCalendar.BC : GregorianCalendar.ADYEARgetEonAndYear().abs().intValue()*MONTHgetMonth()-DatatypeConstants.JANUARY+Calendar.JANUARYDAY_OF_MONTHgetDay()HOUR_OF_DAYgetHour()MINUTEgetMinute()SECONDgetSecond()MILLISECONDgetFractionalSecond()からミリ秒を取得*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。
-
-