Sprache

Calendar.Add(CalendarField, Int32) Methode

Definition

Fügen Sie einen signierten Betrag zu einem angegebenen Feld hinzu, indem Sie die Regeln dieses Kalenders verwenden.

[Android.Runtime.Register("add", "(II)V", "GetAdd_IIHandler", ApiSince=24)]
public virtual void Add(Android.Icu.Util.CalendarField field, int amount);
[<Android.Runtime.Register("add", "(II)V", "GetAdd_IIHandler", ApiSince=24)>]
abstract member Add : Android.Icu.Util.CalendarField * int -> unit
override this.Add : Android.Icu.Util.CalendarField * int -> unit

Parameter

field
CalendarField

das Zeitfeld.

amount
Int32

der Betrag, der dem Feld hinzugefügt werden soll.

Attribute

Hinweise

Fügen Sie einen signierten Betrag zu einem angegebenen Feld hinzu, indem Sie die Regeln dieses Kalenders verwenden. Wenn Sie z. B. dem aktuellen Datum drei Tage hinzufügen möchten, können Sie anrufen add(Calendar.DATE, 3).

Beim Hinzufügen zu bestimmten Feldern können die Werte anderer Felder in Konflikt stehen und geändert werden. Wenn Sie beispielsweise ein Feld zum Feld für das #MONTH MONTH gregorianische Datum 1/31/96 hinzufügen, muss das #DAY_OF_MONTH DAY_OF_MONTH Feld so angepasst werden, dass das Ergebnis 2/29/96 anstelle der ungültigen 2/31/96 ist.

Das Hinzufügen eines positiven Werts bedeutet immer, sich in der Zeit fortzubewegen, also für den gregorianischen Kalender, beginnend mit 100 v. Chr. und dem Hinzufügen von +1 zu Jahr 99 v. Chr. (auch wenn dies tatsächlich den numerischen Wert des Felds selbst reduziert).

<strong>[icu] Hinweis:</strong> Die ICU-Implementierung dieser Methode kann allen Feldern mit Ausnahme von #ERA ERA, #DST_OFFSET DST_OFFSETund #ZONE_OFFSET ZONE_OFFSET. Unterklassen können natürlich Unterstützung für zusätzliche Felder in ihren Überschreibungen hinzufügen add.

<b>Hinweis:</b> Sie sollten immer verwenden roll und add nicht versuchen, arithmetische Vorgänge direkt auf den Feldern einer .Calendar Es ist durchaus möglich, dass Calendar Unterklassen Felder mit nicht linearen Verhaltensweisen aufweisen, z. B. fehlende Monate oder Tage während Nicht-Schaltjahren. Die Unterklassen add und roll Methoden berücksichtigen dies, während einfache arithmetische Manipulationen ungültige Ergebnisse liefern können.

<b>Subclassing:</b><br> Bei dieser Implementierung add wird davon ausgegangen, dass das Verhalten des Felds zwischen dem Minimum und dem Maximum kontinuierlich ist, das durch Aufrufen #getActualMinimum getActualMinimum und #getActualMaximum getActualMaximumAufrufen gefunden wird. Für solche Felder sind einfache arithmetische Vorgänge ausreichend, um das Add auszuführen.

Unterklassen mit Feldern, für die diese Annahme von Kontinuitätsunterbrechungen überschreibt, müssen überschreiben add , um diese Felder speziell zu behandeln. Beispielsweise tritt im hebräischen Kalender der Monat "Adar I" nur in Schaltjahren auf; in anderen Jahren springt der Kalender von Shevat (Monat #4) zu Adar (Monat #6). Die HebrewCalendar#add HebrewCalendar.add Methode berücksichtigt dies, sodass das Hinzufügen eines Monats zu einem Datum in Shevat das richtige Ergebnis (Adar) in einem Nicht-Schaltjahr gibt.

Java Dokumentation für android.icu.util.Calendar.add(int, 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.

Gilt für: