Sprache

Calendar.Roll Methode

Definition

Überlädt

Name Beschreibung
Roll(CalendarField, Boolean)

Rollt (nach oben/unten) eine einzelne Zeiteinheit für das angegebene Feld.

Roll(CalendarField, Int32)

Rollt (nach oben/unten) eine angegebene Zeitdauer für das angegebene Feld.

Roll(CalendarField, Boolean)

Rollt (nach oben/unten) eine einzelne Zeiteinheit für das angegebene Feld.

[Android.Runtime.Register("roll", "(IZ)V", "", ApiSince=24)]
public void Roll(Android.Icu.Util.CalendarField field, bool up);
[<Android.Runtime.Register("roll", "(IZ)V", "", ApiSince=24)>]
member this.Roll : Android.Icu.Util.CalendarField * bool -> unit

Parameter

field
CalendarField

das Kalenderfeld, das rollt.

up
Boolean

gibt an, ob der Wert des angegebenen Zeitfelds rollup oder rolldowns sein soll. Verwenden Sie diese Einstellung true , wenn ein Rollup erfolgt, false andernfalls.

Attribute

Hinweise

Rollt (nach oben/unten) eine einzelne Zeiteinheit für das angegebene Feld. Wenn das Feld über seinen maximal zulässigen Wert hinaus verschoben wird, wird es wieder auf das Minimum umgebrochen und das Rollvorgang fortgesetzt. Um z. B. das aktuelle Datum um einen Tag aufzurollen, können Sie Folgendes aufrufen:

roll({@link #DATE}, true)

Beim Rollieren des #YEAR Felds wird der Jahreswert im Bereich zwischen 1 und dem durch Aufrufen #getMaximum getMaximum(#YEAR) zurückgegebenen Wert rollt.

Beim Rollieren bestimmter Felder können die Werte anderer Felder in Konflikt stehen und geändert werden. Wenn beispielsweise das Feld für das MONTH gregorianische Datum 1/31/96 nach oben gerollt wird, muss das DAY_OF_MONTH Feld so angepasst werden, dass das Ergebnis 2/29/96 anstelle der ungültigen 2.31.96 ist.

Das Rollup bedeutet immer, in der Zeit vorwärts zu rollen (es sei denn, die Grenze des Felds wird erreicht, in diesem Fall kann es anheften oder umbrechen), also für den gregorianischen Kalender, beginnend mit 100 v. Chr. und dem Rollieren des Jahres in 99 BC. Wenn Epochen einen bestimmten Anfang und Ende haben (wie im chinesischen Kalender oder wie in den meisten Epochen im japanischen Kalender), dann wird die Einführung des Jahres über beide Grenzen der Ära dazu führen, dass das Jahr umgebrochen wird. Wenn Eras nur einen Grenzwert an einem Ende haben, führt der Versuch, das Jahr über dieses Limit hinaus zu rollieren, dazu, dass das Jahr an dieser Grenze angeheftet wird. Beachten Sie, dass für die meisten Kalender, in denen sich 0 Jahre in der Zeit vorwärts bewegen (z. B. Buddhist, Hebräisch oder Islamische), es ist möglich, dass ein Add- oder Roll-Element zu negativen Jahren für die Ära 0 führt (das ist die einzige Möglichkeit, Jahre vor der Kalenderzeit in solchen Kalendern darzustellen).

<b>Hinweis:</b> Anruf roll(field, true) N-Zeiten sind <nicht></em> notwendigerweise gleichbedeutend mit anrufen roll(field, N). Angenommen, Sie beginnen mit dem datum gregorianischen Datum 31. Januar 1995. Wenn Sie anrufen roll(Calendar.MONTH, 2), lautet das Ergebnis am 31. März 1995. Aber wenn Sie anrufen roll(Calendar.MONTH, true), wird das Ergebnis am 28. Februar 1995 sein. Wenn Sie es noch einmal aufrufen, wird der 28. März 1995 geben, was in der Regel nicht das gewünschte Ergebnis ist.

<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.

Java Dokumentation für android.icu.util.Calendar.roll(int, boolean).

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:

Roll(CalendarField, Int32)

Rollt (nach oben/unten) eine angegebene Zeitdauer für das angegebene Feld.

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

Parameter

field
CalendarField

das Kalenderfeld, das rollt.

amount
Int32

der Betrag, um den das Feld gerollt werden soll.

Attribute

Hinweise

Rollt (nach oben/unten) eine angegebene Zeitdauer für das angegebene Feld. Wenn Sie z. B. das aktuelle Datum um drei Tage rollieren möchten, können Sie anrufen roll(Calendar.DATE, 3). Wenn das Feld über seinen maximal zulässigen Wert hinaus verschoben wird, wird es wieder auf das Minimum umgebrochen und das Rollvorgang fortgesetzt. Beispielsweise führt das Aufrufen roll(Calendar.DATE, 10) eines gregorianischen Kalenders, der auf 25.04.96 festgelegt ist, zum 04.05.96.

Beim Rollieren bestimmter Felder können die Werte anderer Felder in Konflikt stehen und geändert werden. Wenn Sie beispielsweise das Feld für das #MONTH MONTH gregorianische Datum 1/31/96 um +1 rollen, muss das #DAY_OF_MONTH DAY_OF_MONTH Feld so angepasst werden, dass das Ergebnis 2/29/96 anstelle des ungültigen 2/31/96 ist.

Das Rollen mit einem positiven Wert bedeutet immer, in der Zeit vorwärts zu rollen (es sei denn, die Grenze des Felds wird erreicht, in diesem Fall kann es anheften oder umbrechen), also für den gregorianischen Kalender, beginnend mit 100 v. Chr. und das Rollieren des Jahres um + 1 führt zu 99 BC. Wenn Epochen einen bestimmten Anfang und Ende haben (wie im chinesischen Kalender oder wie in den meisten Epochen im japanischen Kalender), dann wird die Einführung des Jahres über beide Grenzen der Ära dazu führen, dass das Jahr umgebrochen wird. Wenn Eras nur einen Grenzwert an einem Ende haben, führt der Versuch, das Jahr über dieses Limit hinaus zu rollieren, dazu, dass das Jahr an dieser Grenze angeheftet wird. Beachten Sie, dass für die meisten Kalender, in denen sich 0 Jahre in der Zeit vorwärts bewegen (z. B. Buddhist, Hebräisch oder Islamische), es ist möglich, dass ein Add- oder Roll-Element zu negativen Jahren für die Ära 0 führt (das ist die einzige Möglichkeit, Jahre vor der Kalenderzeit in solchen Kalendern darzustellen).

<strong>[icu] Hinweis:</strong> die ICU-Implementierung dieser Methode ist in der Lage, alle Felder außer #ERA ERA, und #DST_OFFSET DST_OFFSET#ZONE_OFFSET ZONE_OFFSET. Unterklassen können natürlich Unterstützung für zusätzliche Felder in ihren Überschreibungen hinzufügen roll.

<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 roll 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. Bei den meisten solchen Feldern reichen einfache Additions-, Subtraktions- und Modulusvorgänge aus, um das Roll auszuführen. Bei wochenbezogenen Feldern sind die Ergebnisse von #getFirstDayOfWeek getFirstDayOfWeek und #getMinimalDaysInFirstWeek getMinimalDaysInFirstWeek sind ebenfalls erforderlich. Unterklassen können diese beiden Methoden überschreiben, wenn sich ihre Werte von den Standardwerten unterscheiden.

Unterklassen mit Feldern, für die die Annahme von Kontinuitätsunterbrechungen außer roll Kraft setzen muss, 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#roll HebrewCalendar.roll Methode berücksichtigt dies, sodass das Rollen des Monats Shevat durch eins das richtige Ergebnis (Adar) in einem Nicht-Schaltjahr gibt.

Java Dokumentation für android.icu.util.Calendar.roll(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: