Language

Calendar.FieldDifference(Date, CalendarField) メソッド

定義

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

[Android.Runtime.Register("fieldDifference", "(Ljava/util/Date;I)I", "GetFieldDifference_Ljava_util_Date_IHandler", ApiSince=24)]
public virtual int FieldDifference(Java.Util.Date? when, Android.Icu.Util.CalendarField field);
[<Android.Runtime.Register("fieldDifference", "(Ljava/util/Date;I)I", "GetFieldDifference_Ljava_util_Date_IHandler", ApiSince=24)>]
abstract member FieldDifference : Java.Util.Date * Android.Icu.Util.CalendarField -> int
override this.FieldDifference : Java.Util.Date * Android.Icu.Util.CalendarField -> int

パラメーター

when
Date

このカレンダーの時刻を比較する日付

field
CalendarField

結果を計算するフィールド

返品

fieldの観点から、このカレンダーの時刻とwhenの間の正または負の差。

属性

注釈

<strong>[icu]</strong> 指定した時刻と、このカレンダー オブジェクトが設定された時刻の差を返します。 このカレンダーが指定した時刻 <em>before</em> 設定されている場合、戻り値は正になります。 このカレンダーが <em>after</em> 指定した時刻に設定されている場合、戻り値は負の値になります。 field パラメーターは、戻り値の単位を指定します。 たとえば、 fieldDifference(when, Calendar.MONTH) が 3 を返す場合、このカレンダーは whenの 3 か月前に設定され、場合によっては 1 か月未満の追加時間に設定されます。

この呼び出しの副作用として、このカレンダーは、指定された金額で when に向かって進まれます。 つまり、このメソッドを呼び出すと、 add(field, n)呼び出しの副作用が生じ、戻り値が n されます。

使用法: このメソッドを使用するには、最初に最大の対象フィールドで呼び出し、次に徐々に小さいフィールドで呼び出します。 例えば次が挙げられます。

int y = cal.fieldDifference(when, Calendar.YEAR);
            int m = cal.fieldDifference(when, Calendar.MONTH);
            int d = cal.fieldDifference(when, Calendar.DATE);

は、年、月、日の cal と when の差を計算します。

注: fieldDifference() は <em>asymmetrical</em>です。 つまり、次のコードでは次のようになります。

cal.setTime(date1);
            int m1 = cal.fieldDifference(date2, Calendar.MONTH);
            int d1 = cal.fieldDifference(date2, Calendar.DATE);
            cal.setTime(date2);
            int m2 = cal.fieldDifference(date1, Calendar.MONTH);
            int d2 = cal.fieldDifference(date1, Calendar.DATE);

1 つは、その m1 == -m2 &amp;&amp; d1 == -d2を期待する可能性があります。 ただし、基になるカレンダー システムの不規則性 (グレゴリオ暦の 1 か月あたりの日数が異なるなど) のため、これは一般的には当てはまるわけではありません。

Javaドキュメント。

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

適用対象