JavaTM 2 Platform
Standard Ed. 5.0

javax.xml.datatype
クラス XMLGregorianCalendar

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 に定義されている 「dateTime」「time」「date」「gYearMonth」「gMonthDay」「gYear」「gMonth」、および 「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 の値はフィールドが定義されていないことを示す。
XML Schema 1.0 errata に 0 年が XML スキーマの将来のバージョンで有効な字句値となると記載されている場合、このクラスは 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 から 24 または DatatypeConstants.FIELD_UNDEFINED。値が 24 の場合、minute および second フィールドは XML Schema Errata によってゼロとなる必要がある
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 日が指定された場合などです。

このクラスでは、次の処理が定義されます。

導入されたバージョン:
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)
          パラメータ obj がこのオブジェクトと「等しい」かどうかを示します。
abstract  int getDay()
          日または DatatypeConstants.FIELD_UNDEFINED を返します。
abstract  BigInteger getEon()
          year の XML Schema 1.0 dataTime データ型フィールドの上位コンポーネントを返します。
abstract  BigInteger getEonAndYear()
          XML Schema 1.0 dateTime データ型フィールドの year を返します。
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()
          分単位のタイムゾーンオフセットを返します。
abstract  TimeZone getTimeZone(int defaultZoneoffset)
          このクラスの java.util.TimeZone を返します。
abstract  QName getXMLSchemaType()
          このインスタンスが対応する XML Schema 日時型の名前を返します。
abstract  int getYear()
          year の XML Schema 1.0 dataTime データ型フィールドの下位コンポーネント、または 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()
          この XMLGregorianCalendarGregorianCalendar に変換します。
abstract  GregorianCalendar toGregorianCalendar(TimeZone timezone, Locale aLocale, XMLGregorianCalendar defaults)
          提供されたパラメータに従って、この XMLGregorianCalendarGregorianCalendar インスタンスに変換します。
 String toString()
          この XMLGregorianCalendar ObjectString 表現を返します。
abstract  String toXMLFormat()
          this インスタンスの字句表現を返します。
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

XMLGregorianCalendar

public XMLGregorianCalendar()
メソッドの詳細

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)

XSD dateTime 年フィールドの下位および上位コンポーネントを設定します。

null のパラメータ値で設定メソッドを呼び出して、このフィールドの設定を解除します。

パラメータ:
year - 値の制約については、「日時フィールド対応表の年フィールド」にまとめられている
例外:
IllegalArgumentException - year パラメータが「日時フィールド対応表」に指定したフィールドの値の制限の範囲外の場合

setYear

public abstract void setYear(int year)

XSD dateTime 年フィールドの年を設定します。

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 dataTime データ型フィールドの上位コンポーネントを返します。この year フィールドのオプションの部分が定義されていない場合は null を返します。

この値の制約については、「日時フィールド対応表の年フィールド」にまとめられています。

戻り値:
この XMLGregorianCalendar の eon。返される値は 10^9 の整数倍
関連項目:
getYear(), getEonAndYear()

getYear

public abstract int getYear()

year の XML Schema 1.0 dataTime データ型フィールドの下位コンポーネント、または DatatypeConstants.FIELD_UNDEFINED を返します。

この値の制約については、「日時フィールド対応表の年フィールド」にまとめられています。

戻り値:
この XMLGregorianCalendar の年
関連項目:
getEon(), getEonAndYear()

getEonAndYear

public abstract BigInteger getEonAndYear()

XML Schema 1.0 dateTime データ型フィールドの year を返します。

この値の制約については、「日時フィールド対応表の年フィールド」にまとめられています。

戻り値:
eonBigInteger.valueOf(year) の両方のフィールドが定義されている場合に、それらの合計。year のみが定義されている場合は、それが返される。eonyear の両方とも定義されていない場合は、null が返される
関連項目:
getEon(), getYear()

getMonth

public abstract int getMonth()

月数または DatatypeConstants.FIELD_UNDEFINED を返します。

この値の制約については、「日時フィールド対応表の月フィールド」にまとめられています。

戻り値:
この XMLGregorianCalendar の年

getDay

public abstract int getDay()
日または DatatypeConstants.FIELD_UNDEFINED を返します。

この値の制約については、「日時フィールド対応表の日フィールド」にまとめられています。

関連項目:
setDay(int)

getTimezone

public abstract int getTimezone()
分単位のタイムゾーンオフセットを返します。オプションのフィールドが定義されていない場合は DatatypeConstants.FIELD_UNDEFINED を返します。

この値の制約については、「日時フィールド対応表のタイムゾーンフィールド」にまとめられています。

関連項目:
setTimezone(int)

getHour

public abstract int getHour()
時間または DatatypeConstants.FIELD_UNDEFINED を返します。このフィールドが定義されていない場合は DatatypeConstants.FIELD_UNDEFINED を返します。

この値の制約については、「日時フィールド対応表の時間フィールド」にまとめられています。

関連項目:
setTime(int, int, int)

getMinute

public abstract int getMinute()
分または DatatypeConstants.FIELD_UNDEFINED を返します。

このフィールドが定義されていない場合は DatatypeConstants.FIELD_UNDEFINED を返します。

この値の制約については、「日時フィールド対応表の分フィールド」にまとめられています。

関連項目:
setTime(int, int, int)

getSecond

public abstract int getSecond()

秒または DatatypeConstants.FIELD_UNDEFINED を返します。

このフィールドが定義されていない場合は DatatypeConstants.FIELD_UNDEFINED を返します。このフィールドが定義されていない場合、getFractionalSecond() および getMillisecond() で表されるオプションの xs:dateTime 小数点以下の秒フィールドを定義できません。

この値の制約については、「日時フィールド対応表の秒フィールド」にまとめられています。

戻り値:
この XMLGregorianCalendar の秒
関連項目:
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 のインスタンス
戻り値:
this XMLGregorianCalendarDatatypeConstants.LESSERDatatypeConstants.EQUALDatatypeConstants.GREATER、または DatatypeConstants.INDETERMINATE として指定された 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)」を実装します。

戻り値:
UTC に正規化された this XMLGregorianCalendar

equals

public boolean equals(Object obj)

パラメータ obj がこのオブジェクトと「等しい」かどうかを示します。

オーバーライド:
クラス Object 内の equals
パラメータ:
obj - 比較するオブジェクト
戻り値:
objXMLGregorianCalendar のインスタンスであり、compare(XMLGregorianCalendar obj)DatatypeConstants.EQUAL を返す場合は true、そうでない場合は false
例外:
NullPointerException - objnull の場合
関連項目:
Object.hashCode(), Hashtable

hashCode

public int hashCode()

equals メソッドの定義に一致するハッシュコードを返します。

オーバーライド:
クラス Object 内の hashCode
戻り値:
このオブジェクトのハッシュコード
関連項目:
Object.equals(java.lang.Object), Hashtable

toXMLFormat

public abstract String toXMLFormat()

this インスタンスの字句表現を返します。この形式は「XML Schema 1.0 Part 2」のセクション 3.2.[7-14]「1 Lexical Representation」に指定されています。

特定の目的の字句表現形式は getXMLSchemaType() によって判断します。

戻り値:
この XMLGregorianCalendarString 表現としての XML
例外:
IllegalStateException - 設定フィールドの組み合わせが、定義された 8 つの XML Schema 日時データ型のいずれかに一致しない場合

getXMLSchemaType

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.DATETIMEDatatypeConstants.TIMEDatatypeConstants.DATEDatatypeConstants.GYEARMONTHDatatypeConstants.GMONTHDAYDatatypeConstants.GYEARDatatypeConstants.GMONTH、または DatatypeConstants.GDAY のうち、いずれか 1 つの定数
例外:
IllegalStateException - 設定フィールドの組み合わせが、定義された 8 つの XML Schema 日時データ型のいずれかに一致しない場合

toString

public String toString()

この XMLGregorianCalendar ObjectString 表現を返します。

この結果は、toXMLFormat() によって生成された字句表現です。

オーバーライド:
クラス Object 内の toString
戻り値:
この XMLGregorianCalendarnull 以外の有効な 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」の付録 E「Adding durations to dateTimes」 に指定されています。「日時対応表」に XML Schema 1.0 dateTime フィールドとこのクラスのそれらのフィールドの表現の対応を定義しています。

パラメータ:
duration - この XMLGregorianCalendar に追加するデュレーション
例外:
NullPointerException - duration パラメータが null の場合

toGregorianCalendar

public abstract GregorianCalendar toGregorianCalendar()

この XMLGregorianCalendarGregorianCalendar に変換します。

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 は次のようにインスタンス化される必要があります。

関連項目:
toGregorianCalendar(java.util.TimeZone, java.util.Locale, XMLGregorianCalendar)

toGregorianCalendar

public abstract GregorianCalendar toGregorianCalendar(TimeZone timezone,
                                                      Locale aLocale,
                                                      XMLGregorianCalendar defaults)

提供されたパラメータに従って、この XMLGregorianCalendarGregorianCalendar インスタンスに変換します。

XML Schema 1.0 日時データ型には、タイムゾーン ID や夏時間タイムゾーン ID の概念がないため、この変換処理によって、ユーザは timezone パラメータで明示的にそれらを指定できます。

戻り値の TimeZone フィールドは次のように計算されます。


getTimeZone

public abstract TimeZone getTimeZone(int defaultZoneoffset)

このクラスの java.util.TimeZone を返します。

このインスタンスのタイムゾーンフィールドが定義されている場合は、ゾーンオフセットのカスタムタイムゾーン ID で初期化された TimeZone を返します。タイムゾーンフィールドが定義されていない場合は、渡された defaultZoneoffset を試みます。defaultZoneoffset が FIELD_UNDEFINED の場合は、このホストのデフォルトのタイムゾーンを返します。これは、java.util.GregorianCalendar のデフォルトと同じです。

パラメータ:
defaultZoneoffset - このゾーンオフセットが DatatypeConstants.FIELD_UNDEFINED である場合は、デフォルトのゾーンオフセット
戻り値:
この TimeZone

clone

public abstract Object clone()

このオブジェクトのコピーを作成して、返します。

オーバーライド:
クラス Object 内の clone
戻り値:
この Object のコピー
関連項目:
Cloneable

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。