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
を返します。
この値の制約については、「日時フィールド対応表の時間フィールド」にまとめられています。
setTime(int, int, int)
public abstract int getMinute()
DatatypeConstants.FIELD_UNDEFINED
を返します。
このフィールドが定義されていない場合はDatatypeConstants.FIELD_UNDEFINED
を返します。
この値の制約については、「日時フィールド対応表の分フィールド」にまとめられています。
setTime(int, int, int)
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日時データ型の必須フィールド。 (すべての日時データ型でタイムゾーンはオプション) |
||||||
---|---|---|---|---|---|---|
データ型 | 年 | 月 | 日 | 時間 | 分 | 秒 |
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, 2014, Oracle and/or its affiliates. All rights reserved.