Calendar.FieldDifference(Date, CalendarField) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
<strong>[icu]</strong> Gibt den Unterschied zwischen der angegebenen Uhrzeit und der Uhrzeit zurück, auf die dieses Kalenderobjekt festgelegt ist.
[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
Parameter
- when
- Date
das Datum, mit dem die Uhrzeit dieses Kalenders verglichen werden soll
- field
- CalendarField
das Feld, in dem das Ergebnis berechnet werden soll
Gibt zurück
der Unterschied , entweder positiv oder negativ, zwischen der Zeit dieses Kalenders und when, in Bezug auf field.
- Attribute
Hinweise
<strong>[icu]</strong> Gibt den Unterschied zwischen der angegebenen Uhrzeit und der Uhrzeit zurück, auf die dieses Kalenderobjekt festgelegt ist. Wenn dieser Kalender vor></em> für die angegebene Zeit festgelegt <ist, ist der zurückgegebene Wert positiv. Wenn dieser Kalender nach></nach dem> angegebenen Zeitpunkt festgelegt <ist, wird der zurückgegebene Wert negativ sein. Der field Parameter gibt die Einheiten des Rückgabewerts an. Wenn beispielsweise fieldDifference(when, Calendar.MONTH) "3" zurückgegeben wird, wird dieser Kalender auf 3 Monate vor whenund möglicherweise auf eine zusätzliche Zeit unter einem Monat festgelegt.
Als Nebeneffekt dieses Aufrufs wird dieser Kalender um den angegebenen Betrag erweitert when . Das heißt, das Aufrufen dieser Methode hat die Nebenwirkung des Aufrufens add(field, n), wobei n der Rückgabewert ist.
Verwendung: Um diese Methode zu verwenden, rufen Sie sie zuerst mit dem größten Interessenfeld und dann mit schrittweise kleineren Feldern auf. Beispiel:
int y = cal.fieldDifference(when, Calendar.YEAR);
int m = cal.fieldDifference(when, Calendar.MONTH);
int d = cal.fieldDifference(when, Calendar.DATE);
berechnet die Differenz zwischen cal und when in Jahren, Monaten und Tagen.
Hinweis: fieldDifference() ist <em>asymmetrisch</em>. Das heißt im folgenden Code:
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);
man könnte erwarten, dass m1 == -m2 && d1 == -d2. Dies ist jedoch im Allgemeinen nicht der Fall, da im zugrunde liegenden Kalendersystem Unregelmäßigkeiten auftreten (z. B. hat der gregorianische Kalender eine unterschiedliche Anzahl von Tagen pro Monat).
Java Dokumentation für android.icu.util.Calendar.fieldDifference(java.util.Date, int).
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.