Calendar クラス

定義

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

[Android.Runtime.Register("android/icu/util/Calendar", ApiSince=24, DoNotGenerateAcw=true)]
public abstract class Calendar : Java.Lang.Object, IDisposable, Java.IO.ISerializable, Java.Lang.ICloneable, Java.Lang.IComparable
[<Android.Runtime.Register("android/icu/util/Calendar", ApiSince=24, DoNotGenerateAcw=true)>]
type Calendar = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ICloneable
    interface IComparable
継承
派生
属性
実装

注釈

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。 ICU に固有のメソッド、フィールド、およびその他の機能には、"<strong>[icu]</strong>' というラベルが付けられます。

Calendar は、 Date オブジェクトと、 YEARMONTHDAYHOUR などの整数フィールドのセットの間で変換するための抽象基本クラスです。 (Date オブジェクトは、ミリ秒単位の特定の時間を表します。Date クラスの詳細については、Dateを参照してください)。

Calendarのサブクラスは、特定のカレンダー システムのルールに従ってDateを解釈します。 ICU4J には、さまざまな国際カレンダー システムを実装するサブクラスがいくつか含まれています。

他のロケール依存クラスと同様に、 Calendar は、この型の一般的に有用なオブジェクトを取得するためのクラス メソッド ( getInstance) を提供します。 Calendar's getInstance メソッドは、ロケールに適した型のカレンダーを返します。時刻フィールドは現在の日時で初期化されています: <blockquote>

Calendar rightNow = Calendar.getInstance()

</blockquote>

ULocaleによってgetInstanceが使用されると、その 'calendar' タグと値が存在する場合は取得されます。 認識された値を指定すると、カレンダーが提供され、必要に応じて構成されます。 現在認識されているタグは、"仏教"、"中国語"、"コプト"、"エチオピック"、"グレゴリオ暦"、"ヘブライ語"、"イスラム"、"イスラム的"、"イスラム市民"、"日本語"、"roc" です。 例: <blockquote>

Calendar cal = Calendar.getInstance(new ULocale("en_US@calendar=japanese"));

</blockquote> は、JapaneseCalendar のインスタンスを返します (最初の週の最小日数、週の開始曜日、および cetera のen_US規則を使用)。

Calendar オブジェクトは、特定の言語およびカレンダー スタイル (日本語グレゴリオ暦、Japanese-Traditionalなど) の日付と時刻の書式設定を実装するために必要なすべての時間フィールド値を生成できます。 Calendar は、特定のフィールドによって返される値の範囲とその意味を定義します。 たとえば、年の最初の月には、すべてのカレンダーの値 MONTH == JANUARY があります。 その他の値は、 ERAYEARなど、具象サブクラスによって定義されます。 詳細については、個々のフィールドのドキュメントとサブクラスのドキュメントを参照してください。

Calendarが <em>lenient</em> の場合、生成されるフィールド値よりも広い範囲のフィールド値を受け入れます。 たとえば、GregorianCalendarMONTH == == 32 を 2 月 1 日として解釈JANUARYDAY_OF_MONTHが緩やかです。 非 lenient GregorianCalendar は、範囲外のフィールド設定が指定されると例外をスローします。 カレンダーは、戻り値のフィールド値を get()で再計算すると、それらを正規化します。 たとえば、 GregorianCalendar では、常に 1 から月の長さの DAY_OF_MONTH 値が生成されます。

Calendar は、2 つのパラメーターを使用してロケール固有の 7 日間の週を定義します。週の最初の日と最初の週の最小日数 (1 から 7)。 これらの数値は、 Calendar が構築されるときにロケール リソース データから取得されます。 API を使用して明示的に指定することもできます。

WEEK_OF_MONTHまたはWEEK_OF_YEARフィールドを設定または取得する場合、Calendarは、月または年の最初の週を参照ポイントとして決定する必要があります。 月または年の最初の週は、 getFirstDayOfWeek() から始まり、その月または年の少なくとも getMinimalDaysInFirstWeek() 日を含む最も早い 7 日間として定義されます。 週番号 ..., -1, 0 は最初の週より前です。週番号は 2、3 です,...それに従ってください。 get()によって返される正規化された番号は異なる場合があることに注意してください。 たとえば、特定の Calendar サブクラスは、1 年の第 1 週の前の週を前年の週 <em>n</em> として指定できます。

時間フィールドから Date を計算する場合は、特別な状況が発生する可能性があります。 Date を計算するには情報が不十分な場合があります (たとえば、年と月は 1 日のみ)、一貫性のない情報 ("火曜日、7 月 15 日、1996 年 7 月 15 日" など) が存在する可能性があります。つまり、1996 年 7 月 15 日は、タイム ゾーンの切り替えのために入力時刻があいまいな場合があります。

<strong>Insufficient information.</strong> 予定表では、既定の情報を使用して、不足しているフィールドを指定します。 これはカレンダーによって異なる場合があります。グレゴリオ暦の場合、フィールドの既定値はエポックの開始と同じです。つまり、YEAR = 1970、MONTH = JANUARY、DATE = 1 などです。

<strong>Inconsistent information.</strong> フィールドが競合する場合、カレンダーは最近設定したフィールドを優先します。 たとえば、日を決定するときに、カレンダーは次のいずれかのフィールドの組み合わせを検索します。 最後に設定された 1 つのフィールドによって決定される最新の組み合わせが使用されます。

<blockquote>

MONTH + DAY_OF_MONTH
            MONTH + WEEK_OF_MONTH + DAY_OF_WEEK
            MONTH + DAY_OF_WEEK_IN_MONTH + DAY_OF_WEEK
            DAY_OF_YEAR
            DAY_OF_WEEK + WEEK_OF_YEAR

</blockquote>

時刻の場合:

<blockquote>

HOUR_OF_DAY
            AM_PM + HOUR

</blockquote>

<strong>Ambiguous Wall Clock Time.</strong> UTC からの時間オフセットが変更されると、遷移の前後にあいまいなタイム スロットが生成されます。 たとえば、多くの米国の場所では夏時間が観察されます。 米国の夏時間に切り替えた日付では、壁掛け時計の時刻が午前 12 時 59 分 (標準) から午前 2 時 (夏時間) にジャンプします。 したがって、1:00 AM から 1:59 AM までの壁時計の時刻は日付に存在しません。 入力壁の時間がこの不足しているタイム スロットに分類されると、ICU カレンダーは既定で遷移前の UTC オフセットを使用して時刻を解決します。 この例では、午前 1 時 30 分は午前 1 時 30 分 (存在しない) と解釈されるため、最終的な結果は午前 2 時 30 分の夏時間になります。

標準時刻に戻す日付では、壁掛け時計の時刻は午前 2 時 00 分に 1 時間戻されます。 したがって、1:00 AM から 1:59 AM までのウォール クロック時間は 2 回発生します。 この場合、ICU カレンダーは、既定で遷移後の UTC オフセットを使用して時刻を解決します。 たとえば、日付の午前 1 時 30 分は、標準時の午前 1 時 30 分として解決されます。

あいまいな壁時計の時間解決動作は、カレンダー API #setRepeatedWallTimeOption(int) および #setSkippedWallTimeOption(int)によってカスタマイズできます。 これらのメソッドは、ICU 49 以降のバージョンで使用できます。

<strong>Note:</strong> 一部のグレゴリオ暦以外のカレンダーでは、完全なあいまいさを解消するために異なるフィールドが必要になる場合があります。 たとえば、アラビア暦の履歴カレンダーの完全な仕様には、年、月、日 <em>および</em> 曜日が必要な場合があります。

<strong>Note:</strong><ol><li> 24:00:00 は次の方法で解決され、特定の単一時刻の解釈に特定のあいまいさが生じ得ます。 つまり、1969 年 12 月 31 日 23:59 >1970 年 1 月 1 日 24:00 >1970 年 1 月 1 日 24:01:00

<li> 歴史的には正確ではありませんが、午前 0 時も "am" に属し、正午は "pm" に属しているため、同じ日の午前 12 時 (午前 0 時) > 午後 12 時 11 分、午後 12 時 00 分 > 午後 12:01 </ol>

日付または時刻の書式指定文字列は、実行時にユーザーが変更またはオーバーライドできる必要があるため、カレンダーの定義の一部ではありません。 DateFormatを使用して日付を書式設定します。

<strong>Field 操作メソッド</strong>

Calendar フィールドは、 set()add()roll()の 3 つの方法を使用して変更できます。

<strong>set(f, value)</strong> フィールドの fvalueに変更されます。 さらに、フィールド f が変更されたことを示す内部メンバー変数を設定します。 フィールド f は直ちに変更されますが、 get()getTime()、または getTimeInMillis() の次回の呼び出しが行われるまで、カレンダーのミリ秒は再計算されません。 したがって、 set() に対する複数の呼び出しでは、複数の不要な計算はトリガーされません。 set()を使用してフィールドを変更した結果、フィールド、フィールド値、カレンダー システムによっては、他のフィールドも変更される可能性があります。 また、フィールドが再計算された後、 get(f) は必ずしも value を返すとは限りません。 詳細は、具象カレンダー クラスによって決定されます。

<em>Example</em>: 最初に 1999 年 8 月 31 日に設定された GregorianCalendar について考えてみます。 set(Calendar.MONTH, Calendar.SEPTEMBER)を呼び出すと、カレンダーが 1999 年 9 月 31 日に設定されます。 これは、 getTime()呼び出された場合に 1999 年 10 月 1 日に解決される一時的な内部表現です。 ただし、set(Calendar.DAY_OF_MONTH, 30)の呼び出しの前にgetTime()を呼び出すと、1999 年 9 月 30 日にカレンダーが設定されます。これは、set()自体の後に再計算が行われないためです。

<strong>add(f, delta)</strong> はフィールド deltafを追加します。 これは、次の 2 つの調整を使用して set(f, get(f) + delta) を呼び出すことと同じです。

<blockquote>

<strong>ルール 1</strong> を追加します。 呼び出し後にfフィールドの値から、呼び出しがfされる前のフィールド deltaの値を引いた値。フィールド fで発生したすべてのオーバーフローを剰余します。 オーバーフローは、フィールド値がその範囲を超えた場合に発生し、その結果、次に大きいフィールドがインクリメントまたはデクリメントされ、フィールド値がその範囲に調整されます。

<strong>ルール 2</strong> を追加します。 小さいフィールドが不変であると予想される場合は 、 フィールド f が変更された後に最小値または最大値が変更されたため、以前の値と等しくすることはできません。その後、その値は、予想される値にできるだけ近くなるように調整されます。 フィールドが小さいと、時間の単位が小さくなります。 HOUR は、 DAY_OF_MONTHよりも小さいフィールドです。 不変であるとは予想されない小さいフィールドに対して調整は行われません。 カレンダー システムは、不変と予想されるフィールドを決定します。

</blockquote>

さらに、 set()とは異なり、 add() はカレンダーのミリ秒とすべてのフィールドの即時再計算を強制します。

<em>Example</em>: 最初に 1999 年 8 月 31 日に設定された GregorianCalendar について考えてみます。 add(Calendar.MONTH, 13)を呼び出すと、カレンダーが 2000 年 9 月 30 日に設定されます。 <strong>ルール 1</strong> を追加すると、 MONTH フィールドが 9 月に設定されます。13 か月を 8 月に追加すると、次の年の 9 月が与えられます。 DAY_OF_MONTH GregorianCalendarでは 9 月に 31 にすることはできません。そのため、<strong>追加規則 2</strong> はDAY_OF_MONTHを 30 (可能な限り最も近い値) に設定します。 小さいフィールドですが、 DAY_OF_WEEK はルール 2 では調整されません。これは、 GregorianCalendarで月が変わると変更される可能性があるためです。

<strong>roll(f, delta)</strong> では、大きなフィールドを変更せずにフィールド deltafが追加されます。 これは、次の調整で add(f, delta) を呼び出すことと同じです。

<blockquote>

<strong>Roll rule</strong>。 大きいフィールドは、呼び出し後も変更されません。 フィールドが大きいほど、時間の単位が大きくなります。 DAY_OF_MONTH は、 HOURよりも大きいフィールドです。

</blockquote>

<em>Example</em>: 最初に 1999 年 8 月 31 日に設定された GregorianCalendar について考えてみます。 roll(Calendar.MONTH, 8)を呼び出すと、カレンダーが 1999 年 4 月 30 日<></強>に設定されます。 ルール 1 を追加すると、 MONTH フィールドが 4 月に設定されます。 GregorianCalendarを使用すると、4 月のDAY_OF_MONTHを 31 にすることはできません。 ルール 2 を追加すると、可能な最も近い値 30 に設定されます。 最後に、 <strong>roll ルール</strong> は 1999 年の YEAR フィールド値を保持します。

<em>Example</em>: 最初に 1999 年 6 月 6 日 (日) に設定された GregorianCalendar について考えてみます。 roll(Calendar.WEEK_OF_MONTH, -1)を呼び出すと、カレンダーは 1999 年 6 月 1 日火曜日に設定されますが、add(Calendar.WEEK_OF_MONTH, -1)呼び出しは 1999 年 5 月 30 日 (日曜日) に設定されます。 これは、ロール ルールによって追加の制約が適用されるためです。 MONTH は、 WEEK_OF_MONTH のロール時に変更しないでください。 ルール 1 を追加すると、結果の日付は 6 月 1 日 (火) から 6 月 5 日 (土曜日) の間である必要があります。 ルール 2 を追加すると、DAY_OF_WEEKを変更するときの不変のWEEK_OF_MONTHは、可能な最も近い値である火曜日 (日曜日は週の最初の日) に設定されます。

<strong>Usage モデル</strong>。 add()roll()の動作を動機付けるために、月、日、年のインクリメント ボタンとデクリメント ボタンを持つユーザー インターフェイス コンポーネントと、基になるGregorianCalendarを検討します。 インターフェイスが 1999 年 1 月 31 日を読み取り、ユーザーが月単位のボタンを押した場合、何を読む必要がありますか? 基になる実装で set() を使用している場合は、1999 年 3 月 3 日を読み取る可能性があります。 より良い結果は、1999 年 2 月 28 日になります。 さらに、ユーザーがもう一度月単位のボタンを押した場合は、1999 年 3 月 28 日ではなく、1999 年 3 月 31 日を読み取る必要があります。 元の日付を保存し、 add() または roll()を使用することで、大きなフィールドに影響を与える必要があるかどうかに応じて、ほとんどのユーザーが直感的に期待するようにユーザー インターフェイスを動作させることができます。

<b>Note:</b>#roll rollのフィールドに対して算術演算を直接実行するのではなく、常に#add addCalendarを使用する必要があります。 Calendarサブクラスには、非線形動作を持つフィールド (たとえば、閏年以外の月や日が不足しているなど) がある可能性があります。 サブクラスの add メソッドと roll メソッドはこれを考慮しますが、単純な算術操作では無効な結果が得られます。

<big><big><b>Calendar Architecture in ICU4J</b></big></big>

最近、サブクラス化をより適切にサポートするために、 Calendar の実装が大幅に変更されました。 元の Calendar クラスはサブクラス化をサポートするように設計されましたが、実装されたサブクラスは 1 つだけ GregorianCalendarBuddhistCalendarChineseCalendarHebrewCalendarIslamicCalendarJapaneseCalendarなど、複数の新しいカレンダー サブクラスの実装により、サブクラス化 API が徹底的に作り直されました。 このセクションでは、新しいサブクラス化 API と、 android.icu.util.Calendarjava.util.Calendarと異なるその他の方法について詳しく説明します。

<big><b>Changes</b></big>

クラシック Calendar アーキテクチャと新しいアーキテクチャの間の変更の概要。

<ul>

<li>fields[]配列がprivateの代わりにprotectedされるようになりました。 サブクラスは、 #internalSet メソッドと #internalGetメソッドを使用してアクセスする必要があります。 <b>Motivation:</b> サブクラスはデータ メンバーに直接アクセスしないでください。</li>

<li>time長い単語がprivateではなくprotectedされるようになりました。 サブクラスはメソッド #internalGetTimeInMillisを使用してアクセスできます。これは更新を引き起こしません。 <b>Motivation:</b> サブクラスはデータ メンバーに直接アクセスしないでください。</li>

<li>サブクラスの責任範囲が大幅に削減されました。 Calendar基底クラスには、可能な限り多くの機能が実装されています。 その結果、 Calendarをサブクラス化する方がはるかに簡単です。 <b>Motivation:</b> サブクラスは、共通コードを再実装する必要はありません。 一部の動作は、カレンダー システム間で共通です。週関連のフィールドと時刻フィールドの定義と動作、多くのフィールドの算術 (#add(int, int) add#roll(int, int) roll) の動作、フィールド検証 system.</li>

<li>サブクラス化 API は完全に再設計されました。</li>

<li>Calendar基底クラスには、サブクラスが使用できるグレゴリオ暦のアルゴリズムサポートがいくつか含まれています (具体的には#handleComputeFields)。 サブクラスは、 getGregorianXxx() メソッドを使用して事前計算された値を取得できます。 <b>Motivation:</b> これは、一貫したタイム ゾーンの動作を実装するためにすべての Calendar サブクラスで必要であり、グレゴリオ暦から派生したシステムでは、既に計算されたデータを使用できます。</li>

<li>FIELD_COUNT定数が削除されました。 #getFieldCount を使用してください。 さらに、サブクラスが追加のフィールドを定義できるように、フレームワーク API が追加されました。 <b>Motivation: </b>カレンダー システム全体でフィールドの数が一定ではありません。</li>

<li>処理日の範囲は、+/- ~300,000,000 年から +/- ~5,000,000 年に絞り込まれています。 実際には、これはクライアントに影響を与えるべきではありません。 ただし、クライアント コードは、 Date(Long.MIN_VALUE)Date(Long.MAX_VALUE)などの日付で適切に動作する結果を保証できないことを意味します。 代わりに、保護 Calendar 定数を使用する必要があります。 <b>Motivation:</b>#JULIAN_DAY フィールドを追加する場合、ユリウス日の数値は 32 ビットの intに制限する必要があります。 これにより、サポートされる範囲全体が制限されます。 さらに、サポートされている範囲を制限すると、 Long.MIN_VALUE および Long.MAX_VALUE.< 付近のミリスでの算術オーバーフローに対応するために使用された特殊なケース コードが削除され、計算が簡略化されます。/li>

<li>新しいフィールドが実装されています。 #JULIAN_DAY は、日付の単一フィールドの指定を定義します。 #MILLISECONDS_IN_DAY では、壁時間の単一フィールドの仕様が定義されます。 #DOW_LOCAL ローカライズされた曜日と週単位の動作を実装 #YEAR_WOY 。</li>

<li>Subclasses は、 Calendar.< で定義されている保護されたミリ秒の定数にアクセスできます/li>

<li>new API が追加され、 DateFormat.< のカレンダー固有のサブクラスがサポートされました/li>

<li>様々な国際カレンダーシステムを表すSeveralサブクラスが実装されています.</li>

</ul>

<big><b>Subclass API</b></big>

元の Calendar API は、単一のサブクラス ( GregorianCalendar) を実装した経験に基づいていました。 その結果、サブクラス化するキンクはすべてうまくいきっていません。新しいサブクラス化 API は、実装された複数のサブクラスに基づいて改良されました。 これには、オーバーライドする必要があるメソッドとサブクラスが呼び出すメソッドが含まれます。 サブクラスは、 fieldsstampに直接アクセスできなくなりました。 代わりに、これらにアクセスするための新しい API があります。 サブクラスは、保護されたフレームワーク メソッドを使用して fields 配列を割り当てることができます。これにより、サブクラスは追加のフィールドを指定できます。

より多くの機能が基底クラスに移動されました。 基底クラスには、グレゴリオ暦をサポートする計算機械の多くが含まれるようになりました。 これは2つのことに基づいています:(1)多くの暦はグレゴリオ暦(仏教暦や日本の帝国暦など)に基づいています。 (2) <em>All</em> カレンダーでは、タイムゾーンの計算を処理するために基本的なグレゴリオ暦のサポートが必要です。

一般的な計算が Calendarに移動されました。 サブクラスは、週関連フィールドと時刻関連フィールドを計算しなくなりました。 これらは通常、基本クラスによってすべてのカレンダーに対して処理されます。

<b>時間 =&gt; フィールドのサブクラス計算</b>

#ERA#YEAR#EXTENDED_YEAR#MONTH#DAY_OF_MONTH、および#DAY_OF_YEARの各フィールドは、ユリウス日に基づいてサブクラスによって計算されます。 その他のすべてのフィールドは、 Calendarによって計算されます。

<ul>

<li>Subclasses は、#handleComputeFields フィールドの値に基づいて、#ERA#YEAR#EXTENDED_YEAR#MONTH#DAY_OF_MONTH、および#DAY_OF_YEARフィールドを計算する#JULIAN_DAYを実装する必要があります。 Calendarで定義されていないカレンダー固有のフィールドがある場合は、それらのフィールドも計算する必要があります。 サブクラスが計算する必要がある唯一のフィールドは次のとおりです。 その他のすべてのフィールドは基底クラスによって計算されるため、時間と週のフィールドはすべてのカレンダーで一貫した方法で動作します。 Calendarのこのメソッドの既定のバージョンでは、プロレプティック グレゴリオ暦が実装されています。 このメソッド内では、サブクラスは getGregorianXxx() を呼び出して、グレゴリオ暦の暦月、月の日、および指定された date.< の拡張年を取得できます。/li>

</ul>

<b>フィールド =&gt; 時間のサブクラス計算</b>

ほとんどのフィールド値の解釈は、 Calendarによって完全に処理されます。 Calendar は、設定されるフィールド、設定されていないフィールド、最近設定されるフィールドなどを決定します。 さらに、 Calendar は時間フィールドからの時間の計算を処理し、週関連のフィールドを処理します。 サブクラスが行う必要があるのは、年フィールドに基づいて拡張年を決定することだけです。その後、拡張年と月を指定すると、ユリウス日番号を返す必要があります。

<ul>

<li>Subclasses は、#handleGetExtendedYear#YEAR、カレンダー システムが 1 年を超えるフィールド (#EXTENDED_YEAR.#ERA など) に基づいて、このカレンダー システムの延長年を返す<を実装する必要があります/li>

<li>Subclasses は、1 か月と延長年に関連付けられたユリウス日番号を返す #handleComputeMonthStart を実装する必要があります。 これは、月の最初の日の前日のユリウス日番号です。 月番号は 0 から始まります。 この計算は、どのフィールド値にも依存しないでください。</li>

</ul>

<b>その他のメソッド</b>

<ul>

<li>Subclasses は、特定の延長年の特定の月の日数を返す #handleGetMonthLength を実装する必要があります。 月の数値は、常に 0 から始まります。</li>

<li>Subclasses は、指定された延長年の日数を返す #handleGetYearLength を実装する必要があります。 このメソッドは、 computeWeekFields#WEEK_OF_YEAR#YEAR_WOY fields を計算するために使用されます。</li>

<li>Subclasses は、#handleGetLimitの値に応じて、フィールドの保護された値を返すlimitTypeを実装する必要があります。 このメソッドは、フィールド #ERA#YEAR#MONTH#WEEK_OF_YEAR#WEEK_OF_MONTH#DAY_OF_MONTH#DAY_OF_YEAR#DAY_OF_WEEK_IN_MONTH#YEAR_WOY、および #EXTENDED_YEARのみを処理する必要があります。 その他のフィールドは (カレンダー システムに関して) 不変であり、基底クラスによって処理されます。</li>

<li>サブクラスは、サブクラス固有のフィールドをチェックするために #validateField をオーバーライドできます。 フィールドの値が範囲外の場合、メソッドは IllegalArgumentExceptionをスローする必要があります。 このメソッドは super.validateField(field) を呼び出して、フィールドを汎用的な方法で処理し、 getMinimum(field)..getMaximum(field).< の範囲と比較することができます。/li>

<li>オプションとして、サブクラスは #handleCreateFields をオーバーライドして、カレンダーのフィールドを保持するのに十分な大きさの int[] 配列を作成できます。 これは、カレンダーが Calendarで定義されたフィールド以外の追加フィールドを定義する場合にのみ必要です。 結果の長さは、基本フィールド数と最大フィールド数の間である必要があります。</li>

<li>サブクラスは #handleGetDateFormat をオーバーライドして、このカレンダーに適した DateFormat を作成できます。 これは、カレンダー サブクラスがフィールドの使用を再定義する (たとえば、 #ERA フィールドをシンボリック フィールドから数値フィールドに変更する) か、追加のフィールドを定義する場合にのみ必要です。</li>

<li>サブクラスは、不連続なフィールドを処理するために #roll roll#add add をオーバーライドできます。 たとえば、ヘブライ語のカレンダーでは、月 >Adar I>閏年でのみ発生します。それ以外の年では、カレンダーは Shevat (月 #4) から Adar (月 #6) にジャンプします。 HebrewCalendar#add HebrewCalendar.addメソッドとHebrewCalendar#roll HebrewCalendar.rollメソッドはこれを考慮に入れ、Shevat に 1 か月を追加すると、閏年以外の適切な結果 (Adar) が得られます。 保護されたユーティリティ メソッド #pinField pinField は、多くの場合、これら 2 つのメソッドを実装するときに役立ちます。 </li>

</ul>

<big><b>正規化された動作</b></big>

特定のフィールドの動作は、すべてのカレンダー システムで一貫性が保たれ、 Calendarで実装されています。

<ul>

<li>Time は正規化されます。 一部のカレンダー システムは日の入りまたは他の時刻に切り替わりますが、すべての ICU4J カレンダーは、 <em>local zone midnight</em> の日の間で切り替わります。 これにより、ICU4Jは Calendar の時間計算を一元化し、カレンダーシステム間の基本的な対応を維持することができます。 影響を受けるフィールド: #AM_PM#HOUR#HOUR_OF_DAY#MINUTE#SECOND#MILLISECOND#ZONE_OFFSET#DST_OFFSET.</li>

<li>DST 動作は正規化されます。 夏時間の動作はすべてのカレンダー システムで同じように計算され、GregorianCalendar#YEAR#MONTHなど、複数の#DAY_OF_MONTH フィールドの値に依存します。 その結果、グレゴリオ暦以外のカレンダー システムの場合でも、 Calendar は常にこれらのフィールドを計算します。 これらのフィールドはサブクラスで使用できます。</li>

<li>Weeks は正規化されます。 ロケールは週を異なる方法で定義しますが、開始日と 1 か月または 1 年の週番号の指定に関しては、すべて共通のメカニズムを使用します。 さらに、曜日は、履歴全体にわたってシンプルで一貫した定義を持っています。 たとえば、グレゴリオ暦では最初に定められたときに不連続が発生しましたが、曜日は中断されませんでした。 このため、 #DAY_OF_WEEKWEEK_OF_YEAR, WEEK_OF_MONTH#DAY_OF_WEEK_IN_MONTH#DOW_LOCAL#YEAR_WOY のフィールドはすべて、サブクラスによって計算される #EXTENDED_YEAR#DAY_OF_YEAR#MONTH、および #DAY_OF_MONTHに基づいて、基底クラスで一貫した方法で計算されます</li>

</ul>

<big><b>サポート範囲</b></big>

Calendarの許容範囲が狭まっている。 GregorianCalendar は、 Long.MIN_VALUE から Long.MAX_VALUE までのミリ秒の値を持つ日付の範囲をサポートするために使用されます。 これにより、パフォーマンスが低下する厄介な構造 (ハック) が導入されました。 また、境界で非一様な動作も導入されました。 新しいCalendar プロトコルでは、ユリウス日の数が-0x7F000000+0x7F000000されたものとして、サポート可能な日付の最大範囲を指定します。 これは、約 5,800,000 BCE から約 5,800,000 CE までの年に相当します。 プログラマは、 Calendar で保護された定数を使用して、非常に早い日付または非常に遅い日付を指定する必要があります。

<big><b>General notes</b></big>

<ul>

<li>Calendars の実装は <em>proleptic</em>です。 たとえば、グレゴリオ暦は 16 世紀まで制定されていなくても、 GregorianCalendar クラスはカレンダー システムを時間的に後方に拡張することで、カレンダーの歴史的開始前の日付をサポートします。 同様に、 HebrewCalendar はエポックの開始前に 0 年と負の年に後方に拡張されます。 日付がカレンダー システムの開始履歴の前にあるため、サブクラスは例外をスローしません。 代わりに、#handleGetLimit#YEARなどのフィールドに適切な制限を返す#ERAを実装します。 次に、カレンダーが lenient に設定されていない場合、範囲外のフィールド値によって exception.< がトリガーされます。/li>

<li>Calendar システム サブクラスは、 <em>extended year</em> を計算します。 これは、 #YEAR フィールドとは異なり、ゼロと負の値を含むすべての整数値の範囲を指定し、 #YEAR フィールドとすべての大きなフィールドの情報をカプセル化します。 したがって、グレゴリオ暦では、 #EXTENDED_YEARERA==AD ? YEAR : 1-YEARとして計算されます。 もう 1 つの例は、年 (KUN) と入れ子になった年 (KATUNBAKTUN) を持つマヤの長いカウントです。 マヤ #EXTENDED_YEARTUN + 20 * (KATUN + 20 * BAKTUN)として計算されます。 Calendar基底クラスは、#EXTENDED_YEAR フィールドを使用して週関連のフィールドを計算します。</li>

</ul>

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
Calendar()

既定のタイム ゾーンと既定の FORMAT ロケールを使用してカレンダーを構築します。

Calendar(IntPtr, JniHandleOwnership)

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

Calendar(TimeZone, Locale)

指定したタイム ゾーンとロケールを持つカレンダーを構築します。

Calendar(TimeZone, ULocale)

指定したタイム ゾーンとロケールを持つカレンダーを構築します。

フィールド

名前 説明
Am

午前 0 時から正午直前までの 1 日の期間を示す AM_PM フィールドの値。

AmPm
古い.

getのフィールド番号と、setが正午の前か後かを示すHOUR

April

年の 4 か月目を示す MONTH フィールドの値。

August

年の 8 か月目を示す MONTH フィールドの値。

BaseFieldCount

このクラスで定義されているフィールドの数。

Date
古い.

月の日を示す getset のフィールド番号。

DayOfMonth
古い.

月の日を示す getset のフィールド番号。

DayOfWeek
古い.

曜日を示す getset のフィールド番号。

DayOfWeekInMonth
古い.

getのフィールド番号と、現在の月の曜日の序数を示すset

DayOfYear
古い.

getのフィールド番号と、現在の年内の日番号を示すset

December

年の 12 か月目を示す MONTH フィールドの値。

DowLocal
古い.

<strong>[icu]</strong> ローカライズされた曜日を示す get()set() のフィールド番号。

DstOffset
古い.

夏時間のオフセットをミリ秒単位で示す getset のフィールド番号。

EpochJulianDay

エポックのユリウス日、つまりグレゴリオ暦の1970年1月1日。

Era
古い.

年号を示す getset のフィールド番号。e.

ExtendedYear
古い.

<strong>[icu]</strong> 拡張年を示す get()set() のフィールド番号。

February

年の 2 か月目を示す MONTH フィールドの値。

Friday

金曜日を示す DAY_OF_WEEK フィールドの値。

GreatestMinimum

getLimit()の制限の種類と、フィールドで使用できる最大の最小値を示すhandleGetLimit()

Hour
古い.

午前または午後の時間を示す getset のフィールド番号。

HourOfDay
古い.

getのフィールド番号と、その日の時間を示すset

InternallySet

タイム スタンプの値 stamp[] 、時刻または他のフィールドからの計算によってフィールドが設定されたことを示します。

IsLeapMonth

<strong>[icu]</strong> 当月が閏月かどうかを示すフィールド。

Jan11JulianDay

グレゴリオ暦のユリウス日、つまりグレゴリオ暦の 1 月 1 日。

January

年の最初の月を示す MONTH フィールドの値。

JulianDay
古い.

<strong>[icu]</strong> 変更されたユリウス日番号を示す get()set() のフィールド番号。

July

年の 7 か月目を示す MONTH フィールドの値。

June

年の 6 か月目を示す MONTH フィールドの値。

LeastMaximum

フィールドが取ることができる最小値を示す getLimit()handleGetLimit() の制限の種類。

March

年の 3 か月目を示す MONTH フィールドの値。

MaxFieldCount

可能なフィールドの最大数。

Maximum

フィールドが取ることができる最大値 (最大値) を示す getLimit()handleGetLimit() の制限の種類。

MaxJulian

サポートされているユリウス日の最大値。

MaxMillis

サポートされるエポックの最大ミリ秒。

May

年の 5 か月目を示す MONTH フィールドの値。

Millisecond
古い.

getのフィールド番号と、2 秒以内のミリ秒を示すset

MillisecondsInDay
古い.

<strong>[icu]</strong> 1 日のミリ秒を示す get()set() のフィールド番号。

Minimum

フィールドが受け取ることができる最小値 (最小) を示す getLimit()handleGetLimit() の制限の種類。

MinimumUserStamp

タイムスタンプ stamp[] の値が MINIMUM_USER_SET 以上の場合は、 set()の呼び出しによってユーザーによって設定されています。

MinJulian

サポートされているユリウス日の最小値。

MinMillis

サポートされる最小エポックミリ秒。

Minute
古い.

getのフィールド番号と、1 時間以内の分を示すset

Monday

月曜日を示す DAY_OF_WEEK フィールドの値。

Month
古い.

月を示す getset のフィールド番号。

November

年の 11 か月目を示す MONTH フィールドの値。

October

年の 10 か月を示す MONTH フィールドの値。

OneDay

1 日のミリ秒数。

OneHour

1 時間のミリ秒。

OneMinute

1 分のミリ秒。

OneSecond

1 秒のミリ秒数。

OneWeek

1 週間のミリ秒数。

OrdinalMonth

<strong>[icu]</strong> 月を示すフィールド。

Pm

正午から午前 0 時直前までの 1 日の期間を示す AM_PM フィールドの値。

ResolveRemap

再マップの解決テーブル フィールドの値に対する OR への値。

Saturday

土曜日を示す DAY_OF_WEEK フィールドの値。

Second
古い.

1 分以内の 2 番目を示す getset のフィールド番号。

September

年の 9 か月目を示す MONTH フィールドの値。

Sunday

日曜日を示す DAY_OF_WEEK フィールドの値。

Thursday

木曜日を示す DAY_OF_WEEK フィールドの値。

Tuesday

火曜日を示す DAY_OF_WEEK フィールドの値。

Undecimber

年の 13 か月目を示す MONTH フィールドの値。

Unset

stamp[]の最後の呼び出し以降にフィールドが設定されていないことを示すタイムスタンプの値clear()

WalltimeFirst
古い.

<strong>[icu]</strong>#setRepeatedWallTimeOption(int)で使用され、最も早く解釈されるあいまいな壁の時間を指定#setSkippedWallTimeOption(int)

WalltimeLast
古い.

<strong>[icu]</strong>#setRepeatedWallTimeOption(int) で使用されるオプションで、最新の時間として解釈されるあいまいな壁の時間を指定#setSkippedWallTimeOption(int)

WalltimeNextValid
古い.

<strong>[icu]</strong>次の有効な壁時間として解釈されるあいまいな壁時間を指定 #setSkippedWallTimeOption(int) で使用されます。

Wednesday

水曜日を示す DAY_OF_WEEK フィールドの値。

WeekOfMonth
古い.

getのフィールド番号と、現在の月内の週番号を示すset

WeekOfYear
古い.

getのフィールド番号と、現在の年内の週番号を示すset

Year
古い.

年を示す getset のフィールド番号。

YearWoy
古い.

<strong>[icu]</strong>get() のフィールド番号と、set() フィールドに対応する拡張年を示す#WEEK_OF_YEAR

ZoneOffset
古い.

GMT からの生オフセットをミリ秒単位で示す getset のフィールド番号。

プロパティ

名前 説明
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
FieldCount

<strong>[icu]</strong> このカレンダーで定義されているフィールドの数を返します。

FirstDayOfWeek

週の最初の曜日 (1 = #SUNDAY 、7 = #SATURDAY) を返します。 または、週の最初の曜日を設定します。1 = #SUNDAY 、7 = #SATURDAY

GregorianDayOfMonth

computeGregorianFields()によって計算されたグレゴリオ暦の月の日 (1 から始まる) を返します。

GregorianDayOfYear

computeGregorianFields()によって計算されたグレゴリオ暦の年の日 (1 から始まる) を返します。

GregorianMonth

computeGregorianFields()によって計算されたグレゴリオ暦の月 (0 から始まる) を返します。

GregorianYear

computeGregorianFields()によって計算されたグレゴリオ暦の拡張年を返します。

Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
Instance

既定のタイム ゾーンとロケールを使用してカレンダーを返します。

IsWeekend

<strong>[icu]</strong> このカレンダーの現在の日付と時刻がこのカレンダー システムの週末にある場合は true を返します。

JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

(継承元 JavaObject)
JniPeerMembers

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

Lenient

日付/時刻の解釈が寛大であるかどうかを示します。 または、日付/時刻の解釈を緩めるかどうかを指定します。

MaxDate

サポートされている最大 Date

MinDate

サポートされている最小 Date

MinimalDaysInFirstWeek

年の最初の週に必要な最小日数を返します。 または、年の最初の週に必要な最小日数を設定します。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
RepeatedWallTimeOption

<strong>[icu]</strong>負のタイム ゾーン オフセット遷移で複数回繰り返される壁時間を処理する動作を取得します。 または、 <strong>[icu]</strong>負のタイム ゾーン オフセット遷移で複数回繰り返される壁の時間を処理する動作を設定します。

SkippedWallTimeOption

<strong>[icu]</strong>正のタイム ゾーン オフセット遷移でスキップされた壁時間を処理するための動作を取得します。 または、 <strong>[icu]</strong>正のタイム ゾーン オフセット遷移でスキップされた壁の時間を処理するための動作を設定します。

TemporalMonthCode

日付の月に対応するテンポラル monthCode 値を取得します。 または、リテラル grapheme "M" で始まり、その後に通常の (閏以外の) 年の現在の月のゼロ埋め込み月番号を表す 2 つのグラフで始まる文字列識別子であるテンポラル monthCode を設定し、これが lunisolar カレンダーの閏月の場合は省略可能なリテラル grapheme "L" でサフィックスを付けます。

ThresholdClass

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

ThresholdType

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

Time

このカレンダーの現在の時刻を返します。 または、このカレンダーの現在の時刻を指定した日付に設定します。

TimeInMillis

このカレンダーの現在の時刻を長くして返します。 または、指定された長い値からこのカレンダーの現在の時刻を設定します。

TimeZone

タイム ゾーンを返します。 または、指定されたタイム ゾーン値を使用してタイム ゾーンを設定します。

Type

<strong>[icu]</strong> この Calendar オブジェクトの予定表の種類の名前文字列を返します。

メソッド

名前 説明
Add(CalendarField, Int32)

このカレンダーのルールを使用して、指定したフィールドに署名済みの金額を追加します。

After(Object)

時間フィールド レコードを比較します。

Before(Object)

時間フィールド レコードを比較します。

Clear()

すべての時間フィールドの値をクリアします。

Clear(CalendarField)

指定された時刻フィールドの値をクリアします。

Clone()

複製可能なオーバーライド

CompareTo(Calendar)

2 つの Calendar オブジェクトで表される時間 (ミリ単位) を比較します。

Complete()

時刻フィールド リストの未設定のフィールドを入力します。

ComputeFields()

現在のミリ秒の時間値timefields[]のフィールド値に変換します。

ComputeGregorianFields(Int32)

ユリウス日からグレゴリオ暦の暦年、月、日を計算します。

ComputeGregorianMonthStart(Int32, Int32)

グレゴリオ暦の月のユリウス日を計算します。

ComputeJulianDay()

このカレンダーのフィールドで指定されたユリウス日番号を計算します。

ComputeMillisInDay()

フィールドから 1 日のミリ秒を計算します。

ComputeTime()

fields[]の現在のフィールド値をミリ秒の時間値timeに変換します。

ComputeZoneOffset(Int64, Int32)

このメソッドは、EXTENDED_YEARが設定されていると想定できます。

Construct(JniObjectReference, JniObjectReferenceOptions)

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

(継承元 JavaObject)
Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

(継承元 JavaObject)
Equals(Object)

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
FieldDifference(Date, CalendarField)

<strong>[icu]</strong> 指定した時刻と、このカレンダー オブジェクトが設定された時刻の差を返します。

FieldName(CalendarField)

デバッグと例外のフィールドの文字列名を返します。

FloorDivide(Int32, Int32, Int32[])

2 つの整数を除算し、商の床と剰余を返します。

FloorDivide(Int32, Int32)

2 つの整数を除算し、商の床を返します。

FloorDivide(Int64, Int32, Int32[])

2 つの整数を除算し、商の床と剰余を返します。

FloorDivide(Int64, Int64)

2 つの長い整数を除算し、商の床を返します。

Get(CalendarField)

特定の時刻フィールドの値を返します。

GetActualMaximum(CalendarField)

現在の日付を指定して、このフィールドが持つことができる最大値を返します。

GetActualMinimum(CalendarField)

現在の日付を指定して、このフィールドに含めることができる最小値を返します。

GetAvailableLocales()

予定表がインストールされているロケールの一覧を返します。

GetDateTimeFormat(DateFormatStyle, Int32, Locale)

<strong>[icu]</strong> このカレンダーに適した DateFormat を返します。

GetDateTimeFormat(DateFormatStyle, Int32, ULocale)

<strong>[icu]</strong> このカレンダーに適した DateFormat を返します。

GetDisplayName(Locale)

指定されたロケールの言語で、このカレンダーの名前を返します。

GetDisplayName(ULocale)

指定されたロケールの言語で、このカレンダーの名前を返します。

GetFieldResolutionTable()

このカレンダーのフィールド解決配列を返します。

GetGreatestMinimum(CalendarField)

変化する場合は、指定されたフィールドの最小値の最大値を返します。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
GetInstance(Locale)

既定のタイム ゾーンと指定したロケールを使用してカレンダーを返します。

GetInstance(TimeZone, Locale)

指定したタイム ゾーンとロケールを持つカレンダーを返します。

GetInstance(TimeZone, ULocale)

指定したタイム ゾーンとロケールを持つカレンダーを返します。

GetInstance(TimeZone)

指定したタイム ゾーンと既定のロケールを使用してカレンダーを返します。

GetInstance(ULocale)

既定のタイム ゾーンと指定したロケールを使用してカレンダーを返します。

GetKeywordValuesForLocale(String, ULocale, Boolean)

<strong>[icu]</strong> キーとロケールを指定すると、違いを生む文字列値の配列が優先順序で返されます。

GetLeastMaximum(CalendarField)

変化する場合は、指定されたフィールドの最小値を返します。

GetLimit(CalendarField, Int32)

フィールドの制限を返します。

GetMaximum(CalendarField)

指定された時刻フィールドの最大値を返します。

GetMinimum(CalendarField)

指定された時刻フィールドの最小値を返します。

GetStamp(CalendarField)

フィールドのタイムスタンプを返します。

GetWeekData()

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

GetWeekDataForRegion(String)

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

GregorianMonthLength(Int32, Int32)

グレゴリオ暦の 1 か月の長さを返します。

GregorianPreviousMonthLength(Int32, Int32)

グレゴリオ暦の前月の長さを返します。

HandleComputeFields(Int32)

サブクラスは、このメソッドをオーバーライドして、各カレンダー システムに固有の複数のフィールドを計算できます。

HandleComputeJulianDay(Int32)

サブクラスはこれをオーバーライドできます。

HandleComputeMonthStart(Int32, Int32, Boolean)

指定した延長年の特定の月の最初の日の前のユリウス日の日数を返します。

HandleCreateFields()

Calendarで定義されているフィールド以外の追加フィールドを使用するサブクラスは、このメソッドをオーバーライドして、適切な長さのint[]配列を返す必要があります。

HandleGetDateFormat(String, Locale)

このカレンダーに適した DateFormat を作成します。

HandleGetDateFormat(String, String, Locale)

このカレンダーに適した DateFormat を作成します。

HandleGetDateFormat(String, ULocale)

このカレンダーに適した DateFormat を作成します。

HandleGetExtendedYear()

現在のフィールドで定義されている拡張年を返します。

HandleGetLimit(CalendarField, Int32)

さまざまな型の制限を定義するためのサブクラス API。

HandleGetMonthLength(Int32, Int32)

このカレンダー システムの特定の延長年の指定された月の日数を返します。

HandleGetYearLength(Int32)

このカレンダー システムの指定された延長年の日数を返します。

InTemporalLeapYear()

<strong>[icu]</strong> 日付が閏年の場合は true を返します。

InternalGet(CalendarField, Int32)

特定の時刻フィールドの値を返すか、フィールドが設定されていない場合は、指定された既定値を返します。

InternalGet(CalendarField)

特定の時刻フィールドの値を返します。

InternalGetTimeInMillis()

再計算せずに現在のミリ秒を返します。

InternalSet(CalendarField, Int32)

フィールドを値に設定します。

InvokeIsWeekend(Date)

<strong>[icu]</strong> 指定した日時がこのカレンダー システムの週末にある場合は true を返します。

IsEquivalentTo(Calendar)

<strong>[icu]</strong> 指定された Calendar オブジェクトがこのオブジェクトと等しい場合は true を返します。

IsGregorianLeapYear(Int32)

指定された年が閏年かどうかを判断します。

IsSet(CalendarField)

指定された時刻フィールドに値が設定されているかどうかを判断します。

JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
JulianDayToDayOfWeek(Int32)

ユリウス日を指定して、日曜日から土曜日までの曜日を返します。

JulianDayToMillis(Int32)

ユリウス日をミリ秒単位で時刻に変換します。

MillisToJulianDay(Int64)

時間をミリ秒単位でユリウス日に変換します。

NewerField(Int32, Int32)

defaultField または alternateField のいずれかの新しいフィールドを返します。

NewestStamp(Int32, Int32, Int32)

指定したフィールド範囲の最新のスタンプを返します。

Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
PinField(CalendarField)

このカレンダーが設定されている日付の許容範囲内になるように、指定したフィールドを調整します。

PrepareGetActual(CalendarField, Boolean)

実際の最小値または最大値を計算するために、このカレンダーを準備します。

ResolveFields(Int32[][][])

優先順位テーブルがある場合は、テーブル内の最新のフィールドの組み合わせを返すか、見つからない場合は -1 します。

Roll(CalendarField, Boolean)

指定されたフィールドで 1 つの時間単位をロール (上/下) します。

Roll(CalendarField, Int32)

指定されたフィールドで、指定した時間をロール (上/下) します。

Set(CalendarField, Int32)

指定した値を持つ時間フィールドを設定します。

Set(Int32, Int32, Int32, Int32, Int32, Int32)

年、月、日付、時、分、秒の各フィールドの値を設定します。

Set(Int32, Int32, Int32, Int32, Int32)

フィールドの年、月、日付、時間、および分の値を設定します。

Set(Int32, Int32, Int32)

年、月、日付の各フィールドの値を設定します。

SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

(継承元 JavaObject)
SetWeekData(Calendar+WeekData)

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
ValidateField(CalendarField, Int32, Int32)

このカレンダーの最小値と最大値を指定して、この予定表の 1 つのフィールドを検証します。

ValidateField(CalendarField)

この予定表の 1 つのフィールドを検証します。

ValidateFields()

設定されている各フィールドで #validateField(int) を呼び出して、各フィールドが有効な範囲内にあることを確認します。

Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
WeekNumber(Int32, Int32, Int32)

期間内の 1 日の週番号を返します。

WeekNumber(Int32, Int32)

期間内の 1 日の週番号を返します。

明示的なインターフェイスの実装

名前 説明
IComparable.CompareTo(Object)

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

IJavaPeerable.Disposed()

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

(継承元 JavaObject)
IJavaPeerable.Finalized()

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

<strong>[icu enhancement]</strong> ICU の java.util.Calendar の置き換え。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象