- java.lang.Object
- java.util.Calendar
- Implementierte Schnittstellen
Serializable,Cloneable,Comparable<Calendar>
- Bekannte direkte Unterklassen:
GregorianCalendar
public abstract class Calendar extends Object implements Serializable, Cloneable, Comparable<Calendar>
DieCalendarKlasse ist eine abstrakte Klasse. Sie stellt Methoden zur Umwandlung zwischen einem bestimmten Zeitpunkt und einer Gruppe bereitcalendar fieldswieYEAR,MONTH,DAY_OF_MONTH,HOUR, usw., sowie zur Bearbeitung dieser Kalenderfelder, zum Beispiel zum Ermitteln des Datums der nächsten Woche. Ein Zeitpunkt lässt sich als Millisekundenwert darstellen. Dieser Wert ist der Offset zur Epoche, dem 1. Januar 1970, 00:00:00,000 GMT (gregorianisch). Die Klasse stellt zusätzlich Felder und Methoden bereit, um konkrete Kalendersysteme außerhalb des Pakets zu implementieren. Diese Felder und Methoden sind definiert alsprotected。Wie andere gebietsschemaabhängige Klassen auch
CalendarStellt eine Klassenmethode bereitgetInstance, um ein generisches Objekt dieses Typs abzurufen.Calendar的getInstanceDie Methode gibt einen … zurückCalendarein Objekt, dessen Kalenderfelder mit dem aktuellen Datum und der aktuellen Uhrzeit initialisiert sind:Calendar rightNow = Calendar.getInstance();CalendarEin Objekt erzeugt alle Kalenderfeldwerte, die für die Formatierung von Datum und Zeit in einem bestimmten Sprach- und Kalenderstil nötig sind (zum Beispiel Japanisch - Gregorianisch, Japanisch - Traditionell).CalendarDefiniert den Wertebereich und die Bedeutung bestimmter Kalenderfelder. Zum Beispiel hat der erste Monat eines Kalendersystems in allen Kalendern den WertMONTH == JANUARY。 Andere Werte definieren die konkreten Unterklassen, zum BeispielERA。 Details finden Sie in der Dokumentation der einzelnen Felder und Unterklassen.Abrufen und Festlegen von Kalenderfeldwerten
Durch einen Aufruf
setMit dieser Methode setzen Sie Kalenderfeldwerte.CalendarFeldwerte werden erst interpretiert, wenn das Programm ihren Zeitwert (Millisekunden seit der Epoche) oder den Wert eines Kalenderfelds berechnet. Aufrufget,getTimeInMillis,getTime,add和rollist an solchen Berechnungen beteiligt.Lenient
Calendarbesitzt zwei Modi zur Interpretation von Kalenderfeldern: lenient und non-lenient. WennCalendarsich das Objekt im lenient-Modus befindet, akzeptiert es weitere Kalenderfeldwerte, als es erzeugt. WennCalendareine Neuberechnung zurückkehrt,Calendarzu den Kalenderfeldwerten,get()werden alle Kalenderfelder normalisiert. Zum Beispiel interpretiert der lenient-ModusGregorianCalendar解释MONTH == JANUARY,DAY_OF_MONTH == 32als den 1. Februar.Wenn
Calendarsich nicht im lenient mode befindet, löst es eine Ausnahme aus, wenn seine Kalenderfelder inkonsistent sind. Zum BeispielGregorianCalendarerzeugt immer Werte zwischen 1 und der Monatslänge.DAY_OF_MONTHWenn ein Feldwert außerhalb des gültigen Bereichs gesetzt wurde, löst der nicht-lenienteGregorianCalendarbeim Berechnen seiner Zeit- oder Kalenderfeldwerte eine Ausnahme aus.First Week
CalendarDie siebentägige Arbeitswoche wird mit zwei Parametern länderspezifisch definiert: dem ersten Tag der Woche und der Mindestanzahl von Tagen in der ersten Woche (von 1 bis 7). Beim Erstellen vonCalendarstammen diese Zahlen aus den Locale-Ressourcendaten oder aus dem Locale selbst. Wenn das angegebene Locale die Unicode extensions „fw" und/oder „rg" enthält, wird der erste Tag der Woche aus diesen extensions ermittelt. Wenn sowohl „fw" als auch „rg" angegeben sind, überschreibt der Wert aus der „fw"-extension den impliziten Wert aus der „rg"-extension. Sie lassen sich auch explizit über Methoden zum Setzen ihrer Werte festlegen. Beim Setzen oder Abrufen desWEEK_OF_MONTHoderWEEK_OF_YEAR-FeldsCalendarDie erste Woche eines Monats oder Jahres muss als Referenzpunkt festgelegt werden. Die erste Woche eines Monats oder Jahres ist definiert als der früheste Sieben-Tage-Zeitraum, dergetFirstDayOfWeek()beginnt und mindestensgetMinimalDaysInFirstWeek()Tage des Monats oder Jahres enthält. Vor der ersten Woche werden die Wochennummern als ..., -1, 0 nummeriert. Die Wochennummern 2, 3, ... folgen darauf. Beachten Sie,get()dass die zurückgegebene normalisierte Nummerierung abweichen kann. BeispielsweiseCalendarkann eine bestimmte Unterklasse die Woche vor der ersten Woche eines Jahres als Wochen周。Auflösung von Kalenderfeldern
Beim Berechnen von Datum und Uhrzeit aus Kalenderfeldern fehlen möglicherweise Informationen (z. B. nur Jahr und Monat ohne Tag), oder die Informationen sind inkonsistent (z. B. Dienstag, 15. Juli 1996 (gregorianisch) — der 15. Juli 1996 war tatsächlich ein Montag).CalendarDie Kalenderfeldwerte werden wie folgt aufgelöst, um Datum und Uhrzeit zu bestimmen. If there is any conflict in calendar field values,
For the time of day fields :YEAR + MONTH + DAY_OF_MONTH YEAR + MONTH + WEEK_OF_MONTH + DAY_OF_WEEK YEAR + MONTH + DAY_OF_WEEK_IN_MONTH + DAY_OF_WEEK YEAR + DAY_OF_YEAR YEAR + DAY_OF_WEEK + WEEK_OF_YEAR
HOUR_OF_DAY AM_PM + HOUR
Wenn der Wert eines Kalenderfelds in der ausgewählten Feldkombination nicht gesetzt ist,
Calendarverwendet das Programm seinen Standardwert. Der Standardwert jedes Felds kann je nach Kalendersystem variieren. Beispielsweise ist inGregorianCalendarder Standardwert eines Felds der Beginn der Ära, nämlichYEAR = 1970,MONTH = JANUARY,DAY_OF_MONTH = 1und so weiter.Hinweis: Bei der Interpretation bestimmter ungewöhnlicher Zeiten gibt es mögliche Mehrdeutigkeiten. Diese werden wie folgt aufgelöst:
- 23:59 ist die letzte Minute eines Tages, 00:00 ist die erste Minute des nächsten Tages. Daher gilt: 31. Dezember 1999 23:59 < 1. Januar 2000 00:00 < 1. Januar 2000 00:01.
- Historisch ungenau gehört Mitternacht zu „AM" und Mittag zu „PM". Am selben Tag gilt daher: 12:00 AM (Mitternacht) < 12:01 AM, 12:00 PM (Mittag) < 12:01 PM.
Das Formatierungsstring für Datum oder Uhrzeit ist nicht Teil der Kalenderdefinition, weil der Benutzer diese Strings zur Laufzeit ändern oder überschreiben muss. Verwenden Sie
DateFormatzum Formatieren von Datumswerten.Feldmanipulation
: Kalenderfelder lassen sich mit drei Methoden ändern:set(),add()和roll().set(f, value)Die Methode ändert das Kalenderfeldf至value. Außerdem setzt sie eine interne Membervariable, um anzuzeigen, dass das Kalenderfeldfgeändert wurde. Obwohl das Kalenderfeldfsofort geändert wird, werden die Zeitwerte des Kalenders in Millisekunden erst beim nächsten Aufruf vonget(),getTime(),getTimeInMillis(),add(),或roll()neu berechnet. Dadurch lösen mehrere Aufrufe vonset()keine mehrfachen unnötigen Berechnungen aus. Als Ergebnis der Änderung eines Kalenderfelds mitset()ändern sich je nach Kalenderfeld, Kalenderfeldwert und Kalendersystem auch andere Kalenderfelder. Außerdem,get(f)Gibt nicht unbedingt einen Wert zurückvalueDurch den Aufruf mit dem Telefon wird bissetnach dem Neuberechnen der Kalenderfelder der Methode. Das genaue Verhalten bestimmt die jeweilige Kalenderklasse.Beispiel: Betrachten Sie
GregorianCalendardas ursprünglich auf den 31. August 1999 gesetzt wurde,set(Calendar.MONTH, Calendar.SEPTEMBER)Setzen des Tages auf den 31. September 1999. Dies ist eine temporäre interne Darstellung und wird zum 1. Oktober 1999 aufgelöst, wenngetTime()dann aufgerufen wird. Beim Aufruf vonset(Calendar.DAY_OF_MONTH, 30)wird jedoch vor dem AufrufgetTime()das Datum auf den 30. September 1999 gesetzt, weilset()danach keine Neuberechnung erfolgt.add(f, delta)增加delta到现场f. Das entspricht zwei Aufrufen mit folgenden Anpassungen:set(f, get(f) + delta):Additionsregel 1. Der Wert des Feldes
fnach dem Aufruf minus der Wert des Feldesfvor dem Aufruf istdelta, modulo eines Überlaufs, der im Feldfaufgetreten ist. Ein Überlauf tritt auf, wenn ein Feldwert seinen Bereich überschreitet. Dadurch wird das nächstgrößere Feld erhöht oder verringert und der Feldwert zurück in seinen Bereich angepasst.Additionsregel 2. Wenn ein kleineres Feld unverändert bleiben muss, aber wegen Änderungen seines Minimums oder Maximums nach der Änderung des Feldes
foder wegen anderer Einschränkungen, wie Änderungen des Zeitzonen-Offsets, nicht seinen vorherigen Wert erreichen kann, wird sein Wert so nah wie möglich am erwarteten Wert angepasst. Ein kleineres Feld repräsentiert eine kleinere Zeiteinheit.HOURist ein kleineres Feld alsDAY_OF_MONTH. Kleinere Felder, die nicht unverändert bleiben müssen, werden nicht angepasst. Das Kalendersystem bestimmt, welche Felder unverändert bleiben müssen.Außerdem erzwingt
set()anders alsadd()das sofortige Neuberechnen der Millisekunden und aller Felder des Kalenders.Beispiel: Betrachten Sie
GregorianCalendardas ursprünglich auf den 31. August 1999 gesetzt wurde,add(Calendar.MONTH, 13)Setzen des Kalenders auf den 30. September 2000. Additionsregel 1 setztMONTHdas Feld auf September, weil die Addition von 13 Monaten zum September des nächsten Jahres führt. DaDAY_OF_MONTHim September nichtGregorianCalendarsein kann, setzt Additionsregel 2DAY_OF_MONTHauf den nächstmöglichen Wert. Obwohl es ein kleineres Feld ist,DAY_OF_WEEKnimmt Regel 2 anDAY_OF_WEEKkeine Anpassung vor, weil sich das Feld bei der Änderung des Monats inGregorianCalendarerwartungsgemäß ändert.roll(f, delta)增加delta到现场fändert keine größeren Felder. Das entspricht einem Aufruf mit folgenden Anpassungen:add(f, delta):Roll-Regel. Größere Felder bleiben nach dem Aufruf unverändert. Ein größeres Feld repräsentiert eine größere Zeiteinheit.
DAY_OF_MONTHist ein größeres Feld alsHOUR.Beispiel: Siehe
GregorianCalendar.roll(int, int).Verwendungsmuster. Um das Verhalten von
add()和roll()zu veranschaulichen, betrachten Sie eine Benutzeroberflächenkomponente mit Schaltflächen zum Erhöhen und Verringern von Monat, Tag und Jahr sowie einem zugrunde liegendenGregorianCalendar. Wenn die Oberfläche den 31. Januar 1999 anzeigt und der Benutzer die Schaltfläche zum Erhöhen des Monats drückt, was sollte sie dann anzeigen? Wenn die zugrunde liegende Implementierungset()verwendet, liest sie möglicherweise den 3. März 1999. Ein besseres Ergebnis wäre der 28. Februar 1999. Drückt der Benutzer die Schaltfläche erneut, sollte sie den 31. März 1999 anzeigen und nicht den 28. März 1999. Durch Speichern des ursprünglichen Datums und Verwendung vonadd()oderroll()je nachdem, ob größere Felder betroffen sein dürfen, verhält sich die Benutzeroberfläche so, wie es die meisten Benutzer intuitiv erwarten.- Seit Version: 1.1 Siehe auch:
System.currentTimeMillis(),Date,GregorianCalendar,TimeZone,DateFormat, Serialized Form
-
-
嵌套类汇总
Verschachtelte Klasse Variablen und Typen Klasse Beschreibung static classCalendar.BuilderCalendar.BuilderZur Erstellung vonCalendar。
-
字段汇总
Feld Variablen und Typen Feld Beschreibung static intALL_STYLESgetDisplayNamesStilbezeichner fürstatic intAMAM_PM, der Namen in allen Stilen angibt, zum Beispiel „January“ und „Jan“.static intAM_PMget和set, der die Tageshälfte von Mitternacht bis kurz vor Mittag angibt.HOURFeldnummer fürstatic intAPRILMONTHundprotected booleanareFieldsSet, die angibt, obfields[]vor oder nach Mittag liegt.fields[]Wert des Feldes, der den vierten Monat des Jahres im gregorianischen und julianischen Kalender angibt.static intAUGUSTMONTHWert des Feldes, der den achten Monat des Jahres im gregorianischen und julianischen Kalender angibt.static intDATEget和setundstatic intDAY_OF_MONTHget和setFeldnummer fürstatic intDAY_OF_WEEKundget和setGibt den Wochentag an.static intDAY_OF_WEEK_IN_MONTHget和setFeldnummer für die Ordnungszahl eines Tages im aktuellen Monat.static intDAY_OF_YEARget和setDie Feldnummer gibt die Tagesnummer im aktuellen Jahr an.static intDECEMBERMONTHDer Wert des Felds gibt den zwölften Monat des Jahres im gregorianischen und julianischen Kalender an.static intDST_OFFSETget和setFeldnummer für den Sommerzeit-Offset in Millisekunden.static intERAget和setDie Feldnummer gibt die Ära an, zum Beispiel AD oder BC im julianischen Kalender.static intFEBRUARYMONTHDer Wert des Felds gibt den zweiten Monat des Jahres im gregorianischen und julianischen Kalender an.static intFIELD_COUNTget和setDie Anzahl der von `getAvailableIDs` erkannten Felder.protected int[]字段Der Kalenderfeldwert der aktuell gesetzten Zeit dieses Kalenders.static intFRIDAYDAY_OF_WEEKDer Wert des Felds gibt Freitag an.static intHOURget和setFeldnummer für die Stunde am Vormittag oder Nachmittag.static intHOUR_OF_DAYget和setFeldnummer für die Stunde des Tages.protected boolean[]isSetDas Flag gibt an, ob ein bestimmtes Kalenderfeld des Kalenders gesetzt ist.protected booleanisTimeSetWenn ja, dann isttimeder Wert gültig.timewahr.static intJANUARYMONTHDer Wert des Felds gibt den ersten Monat des Jahres im gregorianischen und julianischen Kalender an.static intJULYMONTHDer Wert des Felds gibt den siebten Monat des Jahres im gregorianischen und julianischen Kalender an.static intJUNEMONTHDer Wert des Felds gibt den sechsten Monat im gregorianischen und julianischen Kalender an.static intLONGstatic intLONG_FORMATstatic intLONG_STANDALONEstatic intMARCHMONTHDer Wert des Felds gibt den dritten Monat des Jahres im gregorianischen und julianischen Kalender an.static intMAYMONTHDer Wert des Felds gibt den fünften Monat des Jahres im gregorianischen und julianischen Kalender an.static intMILLISECONDget和setFeldnummer für die Millisekunden innerhalb der Sekunde.static intMINUTEget和setFeldnummer für die Minuten innerhalb der Stunde.static intMONDAYDAY_OF_WEEKDer Wert des Felds gibt Montag an.static intMONTHget和setDie Feldnummer bezeichnet den Monat.static intNARROW_FORMATstatic intNARROW_STANDALONEstatic intNOVEMBERMONTHWert des Feldes, der den elften Monat im gregorianischen und julianischen Kalender bezeichnet.static intOCTOBERMONTHWert des Feldes, der den zehnten Monat im gregorianischen und julianischen Kalender bezeichnet.static intPMAM_PMWert des Feldes, der die Tageszeit von Mittag bis vor Mitternacht bezeichnet.static intSATURDAYBezeichnet den Wert des FeldesDAY_OF_WEEK字段的值。static intSECONDget和setDie Feldnummer bezeichnet die Sekunde innerhalb der Minute.static intSEPTEMBERMONTHWert des Feldes, der den neunten Monat im gregorianischen und julianischen Kalender bezeichnet.static intSHORTstatic intSHORT_FORMATstatic intSHORT_STANDALONEstatic intSUNDAYBezeichnet den Wert des FeldesDAY_OF_WEEK字段的值。static intTHURSDAYDAY_OF_WEEKDer Wert des Feldes bezeichnet Donnerstag.protected longtimeDie aktuell gesetzte Zeit dieses Kalenders, ausgedrückt in Millisekunden nach dem 1. Januar 1970, 0:00:00 GMT.static intTUESDAYBezeichnet den Wert des FeldesDAY_OF_WEEK字段的值。static intUNDECIMBERMONTHWert des Feldes, der den dreizehnten Monat des Jahres bezeichnet.static intWEDNESDAYDAY_OF_WEEKDer Wert des Feldes bezeichnet Mittwoch.static intWEEK_OF_MONTHget和setFeldnummer,getset的周数。static intWEEK_OF_YEARget和setDie Feldnummer bezeichnet die Wochennummer des aktuellen Jahres.static intYEARDie Feldnummer istget和setbezeichnet das Jahr.static intZONE_OFFSETget和setFeldnummer, die den ursprünglichen Offset zu GMT in Millisekunden angibt.
-
方法摘要
Alle Methoden Statische Methoden Instanzmethoden Abstrakte Methoden Konkrete Methoden Variablen und Typ Methode Beschreibung abstract voidadd(int field, int amount)Fügt das angegebene Zeitmaß zum gegebenen Kalenderfeld hinzu oder zieht es ab. Dabei gelten die Regeln des Kalenders.booleanafter(Object when)Gibt zurück, ob diesesCalendar是否表示指定的Objectdargestellten Zeitpunkt repräsentiert.booleanbefore(Object when)Gibt zurück, ob diesesCalendar是否表示指定的Objectdargestellten Zeitpunkt repräsentiert.voidclear()voidclear(int field)Objectclone()Erstellt eine Kopie dieses Objekts und gibt sie zurück.intcompareTo(Calendar anotherCalendar)protected voidcomplete()Füllt alle nicht gesetzten Felder in den Kalenderfeldern aus.protected abstract voidcomputeFields()protected abstract voidcomputeTime()booleanequals(Object obj)Vergleicht diesesCalendarmit dem angegebenenObject。intget(int field)Gibt den Wert des gegebenen Kalenderfelds zurück.intgetActualMaximum(int field)Gibt für den Zeitwert diesesCalendarden höchsten Wert zurück, den das angegebene Kalenderfeld habenCalendar。intgetActualMinimum(int field)Gibt für den Zeitwert diesesCalendarden niedrigsten Wert zurück, den das angegebene Kalenderfeld habenCalendar。static Set<String>getAvailableCalendarTypes()Gibt eine nicht veränderbareSetzurück, die alle Kalendertypen enthält, die die LaufzeitumgebungCalendarunterstützt.static Locale[]getAvailableLocales()Gibt ein Array aller Locales zurück,getInstancedie Methode kanngetInstanceeine lokalisierte Instanz zurückgeben.StringgetCalendarType()Gibt den Kalendertyp diesesCalendarObjekts zurück.StringgetDisplayName(int field, int style, Locale locale)Gibt eine String-Darstellung der Werte für das angegebenestyle和locale日历字段Feld zurücklocale。Map<String,Integer>getDisplayNames(int field, int style, Locale locale)Gibt eine Map zurück,Mapdie alle Namen des angegebenenstyle和locale日历字段Felds mit den zugehörigen Feldwerten enthält.intgetFirstDayOfWeek()Gibt den ersten Tag der Woche zurück; zum BeispielSUNDAY在美国,MONDAY在法国。abstract intgetGreatestMinimum(int field)Gibt den höchsten Minimalwert des angegebenen Kalenderfelds dieserCalendarInstanz zurück.static CalendargetInstance()Holt einen Kalender mit der Standardzeitzone und dem Standard-Locale.static CalendargetInstance(Locale aLocale)Holt einen Kalender mit der Standardzeitzone und dem angegebenen Locale.static CalendargetInstance(TimeZone zone)Holt einen Kalender mit der angegebenen Zeitzone und dem Standard-Locale.static CalendargetInstance(TimeZone zone, Locale aLocale)Holt einen Kalender mit der angegebenen Zeitzone und dem angegebenen Locale.abstract intgetLeastMaximum(int field)Gibt den kleinsten Maximalwert des angegebenen Kalenderfelds dieserCalendarInstanz zurück.abstract intgetMaximum(int field)Gibt denCalendar实例的给定日历字段的Calendar。intgetMinimalDaysInFirstWeek()Gibt die Mindestanzahl von Tagen zurück, die für die erste Woche des Jahres nötig ist. Enthält die erste Woche zum Beispiel den ersten Tag des ersten Monats, gibt die Methode 1 zurück.abstract intgetMinimum(int field)Gibt denCalendar实例的给定日历字段的Calendar。DategetTime()longgetTimeInMillis()Gibt den Zeitwert dieses Calendar-Objekts in Millisekunden zurück.TimeZonegetTimeZone()Gibt die Zeitzone zurück.intgetWeeksInWeekYear()Gibt die Woche im Jahr zurück, die diesesCalendarObjekt darstellt.Calendar。intgetWeekYear()Gibt dies zurück.Calendardargestellt wird.Calendar。inthashCode()Gibt den Hash-Code dieses Kalenders zurück.protected intinternalGet(int field)Gibt den Wert des angegebenen Kalenderfelds zurück.booleanisLenient()Gibt an, ob die Interpretation von Datum und Uhrzeit tolerant ist.booleanisSet(int field)Prüft, ob das angegebene Kalenderfeld einen Wert hat, einschließlich der vongetFall, in dem ein Methodenaufruf den Wert einer internen Feldberechnung setzt.booleanisWeekDateSupported()Gibt dies zurückCalendarUnterstützt das Datum mit Wochenangabe.abstract voidroll(int field, boolean up)Addiert oder subtrahiert (auf/ab) eine einzelne Zeiteinheit auf dem angegebenen Zeitfeld, ohne größere Felder zu ändern.voidroll(int field, int amount)Addiert den angegebenen (vorzeichenbehafteten) Betrag zum angegebenen Kalenderfeld, ohne größere Felder zu ändern.voidset(int field, int value)Setzt das angegebene Kalenderfeld auf den angegebenen Wert.voidset(int year, int month, int date)Setzt den Wert der KalenderfelderYEAR,MONTH和DAY_OF_MONTH。voidset(int year, int month, int date, int hourOfDay, int minute)Setzt den Wert des KalenderfeldsYEAR,MONTH,DAY_OF_MONTH,HOUR_OF_DAY和MINUTE。voidset(int year, int month, int date, int hourOfDay, int minute, int second)Werte in Feldern setzenYEAR,MONTH,DAY_OF_MONTH,HOUR_OF_DAY,MINUTE和SECOND。voidsetFirstDayOfWeek(int value)Legen Sie fest, welcher Tag der erste Tag der Woche ist. Zum Beispiel:SUNDAY在美国,MONDAY在法国。voidsetLenient(boolean lenient)Gibt an, ob die Interpretation von Datum/Zeit toleranter ist.voidsetMinimalDaysInFirstWeek(int value)Legen Sie die minimale Anzahl von Tagen für die erste Woche des Jahres fest. Enthält die erste Woche zum Beispiel den ersten Tag des ersten Monats des Jahres, rufen Sie diese Methode mit dem Wert 1 auf.voidsetTime(Date date)Verwenden Sie die angegebenenDateStellen Sie die Zeit für diesen Kalender ein.voidsetTimeInMillis(long millis)Setzt die aktuelle Zeit dieses Calendar-Objekts aus dem angegebenen long-Wert.voidsetTimeZone(TimeZone value)Setzt die Zeitzone mit dem angegebenen Zeitzonenwert.voidsetWeekDate(int weekYear, int weekOfYear, int dayOfWeek)Legt das Datum diesesCalendarObjekts mit dem angegebenen Datumskonstrukt fest - Woche im Jahr, Wochentag und Wochentag.InstanttoInstant()Konvertiert dieses Objekt in einenInstantWert.StringtoString()Gibt die String-Darstellung dieses Kalenders zurück.
-
-
-
字段详细信息
-
ERA
public static final int ERA
get和setDie Feldnummer repräsentiert die Epoche, zum Beispiel AD oder BC im julianischen Kalender. Dies ist ein kalenderspezifischer Wert. Siehe die Dokumentation der Unterklasse.- Siehe auch:
GregorianCalendar.AD,GregorianCalendar.BC, Konstanter Feldwert
-
YEAR
public static final int YEAR
get和setDie Feldnummer repräsentiert das Jahr. Dies ist ein kalenderspezifischer Wert. Siehe die Dokumentation der Unterklasse.
-
MONTH
public static final int MONTH
get和setDie Feldnummer repräsentiert den Monat. Dies ist ein kalenderspezifischer Wert. Der erste Monat im gregorianischen und julianischen Kalender istJANUARY, also 0. Der letzte hängt von der Anzahl der Monate im Jahr ab.
-
WEEK_OF_YEAR
public static final int WEEK_OF_YEAR
get和setDie Feldnummer repräsentiert die Wochennummer des aktuellen Jahres. Die erste Woche des Jahres, definiert durchgetFirstDayOfWeek()和getMinimalDaysInFirstWeek(), hat den Wert 1. Unterklassen definieren die Tage vor der ersten Woche des JahresWEEK_OF_YEAR的值。- Siehe auch:
getFirstDayOfWeek(),getMinimalDaysInFirstWeek(), Konstante Feldwerte
-
WEEK_OF_MONTH
public static final int WEEK_OF_MONTH
get和set字段编号表示getDie erste Woche des Monats, definiert durchgetFirstDayOfWeek()和getMinimalDaysInFirstWeek()hat den Wert 1. Unterklassen definieren den Wert für die Tage vor der ersten Woche des Monats.WEEK_OF_MONTH。- Siehe auch:
getFirstDayOfWeek(),getMinimalDaysInFirstWeek(), Konstante Feldwerte
-
DATE
public static final int DATE
get和setDie Feldnummer gibt den Tag des Monats an. Dies ist einDAY_OF_MONTHSynonym davon. Der erste Tag des Monats hat den Wert 1.- Siehe auch:
DAY_OF_MONTH, Konstante Feldwerte
-
DAY_OF_MONTH
public static final int DAY_OF_MONTH
get和setDie Feldnummer gibt den Tag des Monats an. Dies ist einDATESynonym. Der erste Tag des Monats hat den Wert 1.- Siehe auch:
DATE, Konstante Feldwerte
-
DAY_OF_YEAR
public static final int DAY_OF_YEAR
get和setDie Feldnummer gibt die Tagesnummer im Jahr an. Der erste Tag des Jahres hat den Wert 1.
-
DAY_OF_WEEK
public static final int DAY_OF_WEEK
get和setDas Feld gibt den Wochentag an. Der Wert dieses FeldsSUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY和SATURDAY。
-
DAY_OF_WEEK_IN_MONTH
public static final int DAY_OF_WEEK_IN_MONTH
get和setFeld legt dies einen Tag innerhalb eines Monats eindeutig fest. Anders alsDAY_OF_WEEKundWEEK_OF_MONTH和WEEK_OF_YEARodergetFirstDayOfWeek()odergetMinimalDaysInFirstWeek()bisDAY_OF_MONTH 1至7;DAY_OF_WEEK_IN_MONTH 1bis8到14,DAY_OF_WEEK_IN_MONTH 2und so weiter.DAY_OF_WEEK_IN_MONTH 0表示DAY_OF_WEEK_IN_MONTH 1die Woche davor. Negative Werte zählen ab Monatsende, daher wird der letzte Sonntag eines Monats alsDAY_OF_WEEK = SUNDAY, DAY_OF_WEEK_IN_MONTH = -1angegeben. Da negative Werte rückwärts zählen, richten sie sich im Monat meist anders aus als positive Werte. Hat ein Monat zum Beispiel 31 Tage, dannDAY_OF_WEEK_IN_MONTH -1überlapptDAY_OF_WEEK_IN_MONTH 5和4und endet.- Siehe auch:
DAY_OF_WEEK,WEEK_OF_MONTH, Konstantenfeldwert
-
AM_PM
public static final int AM_PM
get和set字段编号表示HOURvor oder nach Mittag liegt. Zum Beispiel um 22:04:AM_PM是PM。
-
HOUR
public static final int HOUR
get和setFeldnummer für die Stunde am Vormittag oder Nachmittag.HOURFür das 12-Stunden-Format (0 - 11). Mittag und Mitternacht werden durch 0 dargestellt, nicht durch 12. Zum Beispiel um 10:04:15.250 PM ist der WertHOUR10.- Siehe auch:
AM_PM,HOUR_OF_DAY, konstanter Feldwert
-
HOUR_OF_DAY
public static final int HOUR_OF_DAY
get和setFeldnummer für die Stunde des Tages.HOUR_OF_DAYFür das 24-Stunden-Format. Zum Beispiel um 10:04 PM ist der WertHOUR_OF_DAY22.- Siehe auch:
HOUR, konstanter Feldwert
-
MINUTE
public static final int MINUTE
get和setFeldnummer für die Minute innerhalb der Stunde. Zum Beispiel um 10:04 PM ist der WertMINUTE4.
-
SECOND
public static final int SECOND
get和setFeldnummer für die Sekunde innerhalb der Minute. Zum Beispiel um 10:04 PM ist der WertSECOND15.
-
MILLISECOND
public static final int MILLISECOND
get和setFeldnummer für die Millisekunde innerhalb der Sekunde. Zum Beispiel um 10:04 PM ist der WertMILLISECOND250.
-
ZONE_OFFSET
public static final int ZONE_OFFSET
get和setFeldnummer für den Rohversatz zu GMT in Millisekunden. Wenn dieTimeZoneUnterklasse historische Änderungen des GMT-Versatzes unterstützt, gibt dieses Feld den korrekten GMT-Versatzwert derCalendarZeitzone wieder.
-
DST_OFFSET
public static final int DST_OFFSET
get和setFeldnummer für den Sommerzeitversatz in Millisekunden. WennTimeZoneWenn die implementierende Unterklasse Änderungen der historischen Sommerzeit-Zeitpläne unterstützt, gibt dieses Feld den korrekten Sommerzeit-VersatzwertCalendarfür diese Zeitzone wieder.
-
FIELD_COUNT
public static final int FIELD_COUNT
get和setDie Anzahl der verschiedenen erkannten Felder. Der Bereich der Feldnummern ist0..FIELD_COUNT-1。
-
SUNDAY
public static final int SUNDAY
Der Wert des FeldesDAY_OF_WEEK字段的值。
-
MONDAY
public static final int MONDAY
DAY_OF_WEEKDer Wert des Feldes steht für Montag.
-
TUESDAY
public static final int TUESDAY
Der Wert des FeldesDAY_OF_WEEK字段的值。
-
WEDNESDAY
public static final int WEDNESDAY
DAY_OF_WEEKDer Wert des Feldes steht für Mittwoch.
-
THURSDAY
public static final int THURSDAY
DAY_OF_WEEKDer Wert des Feldes steht für Donnerstag.
-
FRIDAY
public static final int FRIDAY
Der Wert des FeldesDAY_OF_WEEK字段的值。
-
SATURDAY
public static final int SATURDAY
Der Wert des FeldesDAY_OF_WEEK字段的值。
-
JANUARY
public static final int JANUARY
MONTHDer Wert des Feldes steht für den ersten Monat des Jahres im gregorianischen und julianischen Kalender.
-
FEBRUARY
public static final int FEBRUARY
MONTHDer Wert des Feldes steht für den zweiten Monat des Jahres im gregorianischen und julianischen Kalender.
-
MARCH
public static final int MARCH
MONTHDer Wert des Felds für den dritten Monat eines Jahres im gregorianischen und julianischen Kalender.
-
APRIL
public static final int APRIL
MONTHDer Wert des Felds für den vierten Monat eines Jahres im gregorianischen und julianischen Kalender.
-
MAY
public static final int MAY
MONTHDer Wert des Felds für den fünften Monat eines Jahres im gregorianischen und julianischen Kalender.
-
JUNE
public static final int JUNE
MONTHDer Wert des Felds für den sechsten Monat eines Jahres im gregorianischen und julianischen Kalender.
-
JULY
public static final int JULY
MONTHDer Wert des Felds für den siebten Monat eines Jahres im gregorianischen und julianischen Kalender.
-
AUGUST
public static final int AUGUST
MONTHDer Wert des Felds für den achten Monat eines Jahres im gregorianischen und julianischen Kalender.
-
SEPTEMBER
public static final int SEPTEMBER
MONTHDer Wert des Felds für den neunten Monat eines Jahres im gregorianischen und julianischen Kalender.
-
OCTOBER
public static final int OCTOBER
MONTHDer Wert des Felds für den zehnten Monat eines Jahres im gregorianischen und julianischen Kalender.
-
NOVEMBER
public static final int NOVEMBER
MONTHDer Wert des Felds für den elften Monat eines Jahres im gregorianischen und julianischen Kalender.
-
DECEMBER
public static final int DECEMBER
MONTHDer Wert des Felds für den zwölften Monat eines Jahres im gregorianischen und julianischen Kalender.
-
UNDECIMBER
public static final int UNDECIMBER
MONTHDer Wert des Felds für den 13. Monat eines Jahres. Dieser WertGregorianCalendarwird nicht verwendet, aber der Mondkalender verwendet ihn.
-
AM
public static final int AM
AM_PMDer Wert des Felds für die Tageszeit von Mitternacht bis vor Mittag.
-
PM
public static final int PM
AM_PMDer Wert des Felds für die Tageszeit von Mittag bis vor Mitternacht.
-
ALL_STYLES
public static final int ALL_STYLES
getDisplayNamesStyle-Bezeichner, der alle Stilnamen angibt, zum Beispiel „January" und „Jan".- Verfügbar seit: 1.6 Siehe auch:
SHORT_FORMAT,LONG_FORMAT,SHORT_STANDALONE,LONG_STANDALONE,SHORT,LONG, Konstanter Feldwert
-
SHORT
public static final int SHORT
- Verfügbar seit: 1.6 Siehe auch:
SHORT_STANDALONE,LONG, Konstanter Feldwert
-
LONG
public static final int LONG
- Verfügbar seit: 1.6 Siehe auch:
LONG_STANDALONE,SHORT, Konstanter Feldwert
-
NARROW_FORMAT
public static final int NARROW_FORMAT
getDisplayNameundgetDisplayNamesStyle-Bezeichner für, der schmale Namen für das Format angibt. Schmale Namen sind meist ein einzelner String, zum Beispiel „M" für Montag.- Verfügbar seit: 1.8 Siehe auch:
NARROW_STANDALONE,SHORT_FORMAT,LONG_FORMAT, Konstanter Feldwert
-
NARROW_STANDALONE
public static final int NARROW_STANDALONE
getDisplayNameundgetDisplayNamesStyle-Bezeichner für, der schmale Namen für den eigenständigen Gebrauch angibt. Schmale Namen sind meist ein einzelner String, zum Beispiel „M" für Montag.- Verfügbar seit: 1.8 Siehe auch:
NARROW_FORMAT,SHORT_STANDALONE,LONG_STANDALONE, Konstanter Feldwert
-
SHORT_FORMAT
public static final int SHORT_FORMAT
- Verfügbar seit: 1.8 Siehe auch:
SHORT_STANDALONE,LONG_FORMATDer Text ist leer. Bitte geben Sie den zu übersetzenden chinesischen Text ein.LONG_STANDALONEKonstanter Feldwert
-
LONG_FORMAT
public static final int LONG_FORMAT
- Verfügbar ab Version: 1.8 Siehe auch:
LONG_STANDALONE,SHORT_FORMAT,SHORT_STANDALONE, konstanter Feldwert
-
SHORT_STANDALONE
public static final int SHORT_STANDALONE
getDisplayNameundgetDisplayNamesist ein Stilbezeichner für unabhängig verwendete Kurzformen, zum Beispiel Monatsabkürzungen als Kalendertitel.- Verfügbar seit Version: 1.8 Siehe auch:
SHORT_FORMAT,LONG_FORMAT,LONG_STANDALONE, Konstanter Feldwert
-
LONG_STANDALONE
public static final int LONG_STANDALONE
getDisplayNameundgetDisplayNamesist ein Stilbezeichner für unabhängig verwendete Langformen, zum Beispiel Monatsnamen als Kalendertitel.- Seit Version: 1.8 Siehe auch:
LONG_FORMAT,SHORT_FORMAT,SHORT_STANDALONE, Konstante Feldwerte
-
字段
protected int[] fields
Die Kalenderfeldwerte der aktuell gesetzten Zeit dieses Kalenders. Dies istFIELD_COUNTein Integer-Array mit Indexwerten vonERA到DST_OFFSET。
-
isSet
protected boolean[] isSet
Flag, das angibt, ob das angegebene Kalenderfeld des Kalenders gesetzt ist. Ein neues Objekt hat keine gesetzten Felder. Nach dem ersten Aufruf einer Methode, die Felder erzeugt, bleiben alle Felder danach gesetzt. Dies ist eine GruppeFIELD_COUNTBoolescher Wert, der Indexwert istERA到DST_OFFSET。
-
time
protected long time
Die aktuell eingestellte Zeit dieses Kalenders, angegeben in Millisekunden seit dem 1. Januar 1970, 0:00:00 GMT.- Siehe auch:
isTimeSet
-
isTimeSet
protected boolean isTimeSet
Wenn … dann …timeist der Wert gültigtimeWahr. Durch Ändern des Feldsfield[]wird die Zeit ungültig.- Siehe auch:
time
-
areFieldsSet
protected boolean areFieldsSet
Wennfields[]mit der aktuell gesetzten Zeit synchron ist,fields[]True. Wenn false, erzwingt der nächste Versuch, einen Feldwert abzurufen, die Neuberechnung des aktuellen Wertstimealler Felder.
-
-
构造方法详细信息
-
Calendar
protected Calendar()
Erzeugt einen Kalender mit der Standardzeitzone und dem Standard-FORMATLocale.- Siehe auch:
TimeZone.getDefault()
-
-
方法详细信息
-
getInstance
public static Calendar getInstance()
Ruft einen Kalender mit der Standardzeitzone und dem Standard-Locale ab. Der zurückgegebeneCalendarKalender basiert auf der aktuellen Zeit in der Standardzeitzone mit dem Standard-FORMATLocale. Enthält das Locale die Zeitzone „tz" Unicode extension, wird diese Zeitzone verwendet.- Rückgabewert: ein Kalender.
-
getInstance
public static Calendar getInstance(TimeZone zone)
Ruft einen Kalender mit der angegebenen Zeitzone und dem Standard-Locale ab. Der zurückgegebeneCalendarKalender basiert auf der aktuellen Zeit in der angegebenen Zeitzone mit dem Standard-FORMATLocale.- Parameter
zone- die zu verwendende Zeitzone. Rückgabewert: ein Kalender.
-
getInstance
public static Calendar getInstance(Locale aLocale)
Ruft einen Kalender mit der Standardzeitzone und dem angegebenen Locale ab. Der zurückgegebeneCalendarKalender basiert auf der aktuellen Zeit in der Standardzeitzone mit dem angegebenen Locale. Enthält das Locale die Zeitzone „tz" Unicode extension, wird diese Zeitzone verwendet.- Parameter
aLocale- das Locale für die Wochendaten. Rückgabewert: ein Kalender.
-
getInstance
public static Calendar getInstance(TimeZone zone, Locale aLocale)
Ruft einen Kalender mit der angegebenen Zeitzone und dem angegebenen Locale ab. Der zurückgegebeneCalendarKalender basiert auf der aktuellen Zeit in der angegebenen Zeitzone mit dem angegebenen Locale.- Parameter
zone- die zu verwendende ZeitzoneaLocale- Gebietsschema der Wochendaten. Ergebnis Kalender.
-
getAvailableLocales
public static Locale[] getAvailableLocales()
RückgabewertgetInstanceDie Methode gibt ein Array aller Gebietsschemas zurück, für die lokalisierte Instanzen verfügbar sind. Das zurückgegebene Array muss mindestens ein Element enthalten, das gleichLocale.US的LocaleInstanz.- Ergebnis Ein Array von Gebietsschemas, für die lokalisierte
CalendarInstanzen verfügbar sind.
-
computeTime
protected abstract void computeTime()
- Siehe auch:
complete(),computeFields()
-
computeFields
protected abstract void computeFields()
Konvertiert den aktuellen Millisekunden-Zeitwert intimeKalenderfeldwertefields[]. Dadurch synchronisieren Sie die Kalenderfeldwerte mit der neu gesetzten Zeit des Kalenders. Die Zeit wird nicht neu berechnet. Um zuerst die Zeit und dann die Felder neu zu berechnen, rufen Sie die Methodecomplete()auf.- Siehe auch:
computeTime()
-
getTime
public final Date getTime()
- Ergebnis
Datestellt den Zeitwert dar. Siehe auch:setTime(Date),getTimeInMillis()
-
setTime
public final void setTime(Date date)
Setzt die Zeit dieses Kalenders mit dem angegebenenDateWert. Hinweis: Der Aufruf vonDate(Long.MAX_VALUE)oderDate(Long.MIN_VALUE)调用setTime()kann ausget()inkorrekte Feldwerte erzeugen.- Parameter
date- das angegebene Datum. Siehe auch:getTime(),setTimeInMillis(long)
-
getTimeInMillis
public long getTimeInMillis()
Gibt den Zeitwert dieses Calendar in Millisekunden zurück.- Ergebnis Die aktuelle Zeit seit der Epoche in UTC-Millisekunden. Siehe auch:
getTime(),setTimeInMillis(long)
-
setTimeInMillis
public void setTimeInMillis(long millis)
Setzt die aktuelle Zeit dieses Calendar-Objekts aus dem angegebenen long-Wert.- Parameter
millis- Die neue Zeit in UTC-Millisekunden seit der Epoche. Siehe auch:setTime(Date),getTimeInMillis()
-
get
public int get(int field)
Gibt den Wert des angegebenen Kalenderfelds zurück. Im lenient Modus werden alle Kalenderfelder normalisiert. Im non-lenient Modus werden alle Kalenderfelder geprüft. Die Methode löst eine Ausnahme aus, wenn ein Kalenderfeld einen Wert außerhalb des Bereichs hat. Normalisierung und Prüfung übernimmt diecomplete()Methode. Diese Methode hängt vom Kalendersystem ab.- Parameter
字段- Das angegebene Kalenderfeld. Rückgabewert Der Wert des angegebenen Kalenderfelds. AusnahmeArrayIndexOutOfBoundsException- Wenn das angegebene Feld außerhalb des Bereichs liegt (field < 0 || field >= FIELD_COUNT). Siehe auch:set(int,int),complete()
-
internalGet
protected final int internalGet(int field)
Gibt den Wert des angegebenen Kalenderfelds zurück. Die Methode normalisiert oder prüft den Feldwert nicht.- Parameter
字段- Das angegebene Kalenderfeld. Rückgabewert Der Wert des angegebenen Kalenderfelds. Siehe auch:get(int)
-
set
public void set(int field, int value)Setzt das angegebene Kalenderfeld auf den angegebenen Wert. Die Methode interpretiert den Wert unabhängig vom lenient Modus nicht.- Parameter
字段- Das angegebene Kalenderfeld.value- Der Wert, der für das angegebene Kalenderfeld gesetzt werden soll. AusnahmeArrayIndexOutOfBoundsException- Wenn das angegebene Feld außerhalb des Bereichs liegt (field < 0 || field >= FIELD_COUNT). Im non-lenient Modus. Siehe auch:set(int,int,int),set(int,int,int,int,int),set(int,int,int,int,int,int),get(int)
-
set
public final void set(int year, int month, int date)Setzt die Werte der KalenderfelderYEAR,MONTH和DAY_OF_MONTH. Andere Kalenderfelder behalten ihre vorherigen Werte. Rufen Sie bei Bedarf zuerstclear()auf.- Parameter
year- 用于设置YEARKalenderfeld.month- 用于设置MONTHKalenderfeld. Der Monatswert basiert auf 0. Zum Beispiel steht 0 für Januar.date- 用于设置DAY_OF_MONTHDer Wert des Kalenderfelds. Siehe auch:set(int,int),set(int,int,int,int,int),set(int,int,int,int,int,int)
-
set
public final void set(int year, int month, int date, int hourOfDay, int minute)Setzt den Wert eines KalenderfeldsYEAR,MONTH,DAY_OF_MONTH,HOUR_OF_DAY和MINUTE. Andere Felder behalten ihren vorherigen Wert. Falls nicht benötigt, rufen Sie zuerstclear()auf.- Parameter
year- 用于设置YEARKalenderfelds.month- 用于设置MONTHKalenderfelds. Der Monatswert basiert auf 0. Zum Beispiel steht 0 für Januar.date- 用于设置DAY_OF_MONTHKalenderfelds.hourOfDay- 用于设置HOUR_OF_DAYKalenderfelds.minute- 用于设置MINUTEKalenderfelds. Siehe auch:set(int,int),set(int,int,int),set(int,int,int,int,int,int)
-
set
public final void set(int year, int month, int date, int hourOfDay, int minute, int second)Setzt den Wert im FeldYEAR,MONTH,DAY_OF_MONTH,HOUR_OF_DAY,MINUTE和SECOND. Andere Felder behalten ihren vorherigen Wert. Falls nicht benötigt, rufen Sie zuerstclear()auf.- Parameter
year- 用于设置YEARKalenderfelds.month- 用于设置MONTHKalenderfelds. Der Monatswert basiert auf 0. Zum Beispiel steht 0 für Januar.date- 用于设置DAY_OF_MONTHKalenderfelds.hourOfDay- 用于设置HOUR_OF_DAYKalenderfelds zu setzen.minute- 用于设置MINUTEKalenderfelds zu setzen.second- 用于设置SECONDKalenderfelds zu setzen. Siehe auch:set(int,int),set(int,int,int),set(int,int,int,int,int)
-
clear
public final void clear()
Setzt alle Kalenderfeldwerte und Zeitwerte diesesCalendarObjekts auf undefined (Millisekunden-Offset zur Epoch). Das bedeutet,isSet()dass für alle Kalenderfelderfalsezurückgegeben wird. Die Datums- und Zeitberechnung behandelt die Felder, als wären sie nie gesetzt worden.CalendarDie implementierende Klasse verwendet für die Datums- und Zeitberechnung ihre spezifischen Standardfeldwerte. Wenn zum Beispiel derYEARFeldwert undefined ist, verwendetGregorianCalendardas Jahr 1970.- Siehe auch:
clear(int)
-
clear
public final void clear(int field)
Setzt den gegebenen Kalenderfeldwert und die Zeitwerte diesesCalendarObjekts auf undefined (Millisekunden-Offset zur Epoch). Das bedeutet,isSet(field)dassfalsezurückgegeben wird. Die Datums- und Zeitberechnung behandelt das Feld, als wäre es nie gesetzt worden.CalendarDie implementierende Klasse verwendet für die Datums- und Zeitberechnung den spezifischen Standardwert des Felds. DieHOUR_OF_DAY-,HOUR- undAM_PM-Felder werden unabhängig behandelt. Dabei gilt die resolution rule for the time of day. Das Löschen eines dieser Felder setzt den Stundenwert diesesCalendarObjekts nicht zurück. Verwenden Sieset(Calendar.HOUR_OF_DAY, 0), um den Stundenwert zurückzusetzen.- Parameter
字段- Das zu löschende Kalenderfeld. Siehe auch:clear()
-
isSet
public final boolean isSet(int field)
Ermittelt, ob das gegebene Kalenderfeld einen Wert hat. Das umfasst auch Werte, die durch die interne Feldberechnung nach einemgetMethodenaufruf gesetzt wurden.- Parameter
字段- Das zu prüfende Kalenderfeld. Rückgabewerttruetrue, wenn das gegebene Kalenderfeld einen Wert hat; andernfallsfalse.
-
getDisplayName
public String getDisplayName(int field, int style, Locale locale)
Gibt für das gegebenestyle和locale日历字段Die String-Darstellung des Wertslocale. Wenn keine passende String-Darstellung existiert, wirdnullzurückgegeben. Wenn die String-Darstellung für den gegebenen Kalender字段gilt, ruft diese Methodeget(field)auf, um den Kalenderwert字段zu erhalten. Zum Beispiel: Wenn diesesCalendar是GregorianCalendarund sein Datum 2005-01-01 ist, dannMONTHist die String-Darstellung des Felds im englischen Gebietsschema im langen Stil „Januar“ oder im kurzen Stil „Jan“. AberDAY_OF_MONTHfür das Feld existiert keine String-Darstellung, daher gibt diese Methodenull。Die Standardimplementierung unterstützt Kalenderfelder, deren
DateFormatSymbolsim gegebenen Namenlocale。- Parameter
字段- das Kalenderfeld, dessen String-Darstellung zurückgegeben wirdstyle- der Stil, der auf die String-Darstellung angewendet wird; einer vonSHORT_FORMAT(SHORT),SHORT_STANDALONE,LONG_FORMAT(LONG),LONG_STANDALONE,NARROW_FORMAToderNARROW_STANDALONE.locale- das Gebietsschema für die String-Darstellung (jeder durchlocaleangegebene Kalendertyp wird ignoriert) Ergebnis Die String-Darstellung des gegebenen字段im gegebenenstyle字符串表示stylewenn keine passende String-Darstellung existiertstyle,null. AusnahmenIllegalArgumentException- 如果字段oderstyle无效,或者此Calendarnicht tolerant ist und ein Kalenderfeld einen ungültigen Wert hatNullPointerException- 如果localenull ist Seit Version: 1.6
-
getDisplayNames
public Map<String,Integer> getDisplayNames(int field, int style, Locale locale)
Gibt zurückMapDiese enthält für das angegebenestyle和locale日历字段alle Namen mit den zugehörigen Feldwerten. Enthält diesesCalendarbeispielsweiseGregorianCalendar, enthält die zurückgegebene Map „Jan“ bisJANUARYund „Feb“ bisFEBRUARYund so weiter im short-Stil des englischen Gebietsschemas. Wegen der einzelnen Zeichen sind schmale Namen nicht eindeutig, zum Beispiel „S“ für Sonntag und Samstag. In diesem Fall sind die schmalen Namen nicht in der zurückgegebenenMap。Das Programm berücksichtigt die Werte anderer Kalenderfelder, um eine Gruppe von Anzeigenamen zu bestimmen. Ist dieses
Calendarbeispielsweise ein lunisolarer Kalender und enthält dasYEARFeld einen Jahreswert mit Schaltmonat, gibt die Methode Monatsnamen mit dem Namen des Schaltmonats zurück. Die Monatsnamen werden dann auf jahresspezifische Monatsnamen abgebildet.Die Standardimplementierung unterstützt die Anzeigenamen, die in
DateFormatSymbolsenthalten sind. Ist字段beispielsweiseMONTHund iststylegleichALL_STYLES, gibt diese Methode eineMapzurück, die alle Zeichenketten enthält, die vonDateFormatSymbols.getShortMonths()undDateFormatSymbols.getMonths()zurückgegeben werden.- Parameter
字段- das Kalenderfeld, für das die Anzeigenamen zurückgegeben werdenstyle- der Stil, der auf die Zeichenketten-Darstellung angewendet wird. Einer vonSHORT_FORMAT(SHORT),SHORT_STANDALONE,LONG_FORMAT(LONG),LONG_STANDALONE,NARROW_FORMAToderNARROW_STANDALONE-
locale- das Gebietsschema für die Anzeigenamen Ergebnis Eine Mapmit allen Anzeigenamenstyle和localeund ihren Feldwerten, odernullwenn keine Anzeigenamen für字段- definiert sind Ausnahmen
IllegalArgumentException- 如果字段oderstyle无效,或者此Calendarnicht lax ist und ein Kalenderfeld einen ungültigen Wert hatNullPointerException- 如果localeleer ist. Seit Version: 1.6
-
complete
protected void complete()
Füllt alle nicht gesetzten Felder in den Kalenderfeldern. Zuerst wird die MethodecomputeTime()aufgerufen, falls der Zeitwert (Millisekunden-Offset von der Epoch) noch nicht aus den Kalenderfeldwerten berechnet wurde. Dann wird die MethodecomputeFields()aufgerufen, um alle Kalenderfeldwerte zu berechnen.
-
getAvailableCalendarTypes
public static Set<String> getAvailableCalendarTypes()
Gibt eine nicht veränderbareSetzurück, die alle Kalendertypen enthält, dieCalendarin der Laufzeitumgebung unterstützt. Die verfügbaren Kalendertypen können für Unicode locale extensions verwendet werden. Die zurückgegebeneSetenthält mindestens"gregory". Die Kalendertypen enthalten keine Aliase, zum Beispiel"gregorian"("gregory"。- Ergebnis Eine nicht veränderbare
Set- mit allen verfügbaren Kalendertypen. Seit Version: 1.8 Siehe auch:
getCalendarType(),Calendar.Builder.setCalendarType(String),Locale.getUnicodeLocaleType(String)
-
getCalendarType
public String getCalendarType()
Gibt den Kalendertyp diesesCalendarzurück. Der Kalendertyp wird durch die Spezifikation Unicode Locale Data Markup Language (LDML) definiert. Die Standardimplementierung dieser Methode gibt den Klassennamen diesesCalendar-Objekts zurück. Jede Unterklasse, die ein durch LDML definiertes Kalendersystem implementiert, muss diese Methode überschreiben, um den passenden Kalendertyp zurückzugeben.- Ergebnis Der durch LDML definierte Kalendertyp oder der Klassenname dieses
Calendar-Objekts. Seit Version: 1.8 Siehe auch: Locale extensions ,Locale.Builder.setLocale(Locale),Locale.Builder.setUnicodeLocaleKeyword(String, String)
-
equals
public boolean equals(Object obj)
Vergleicht diesesCalendarmit dem angegebenenObject. Das Ergebnis istCalendar, genau dann wenn das Argument eintrue-Objekt desselben Kalendersystems ist. Dieses Objekt muss unter demselbenCalendar-Parameter denselben Zeitwert (Millisekunden-Offset von der Epoch) darstellen. DerCalendar-Parameter besteht aus den Werten, die vonisLenient,getFirstDayOfWeek,getMinimalDaysInFirstWeek和getTimeZonedargestellt werden. Wenn zwischen den Parametern der beidenCalendarein Unterschied besteht, gibt diese Methode zurückfalse。Verwendung
compareToDie Methode vergleicht nur Zeitwerte.- Überschreibt:
equals类Object- Parameter
obj- Das Objekt, mit dem verglichen wird. Rückgabewerttrue`true`, wenn dieses Objekt gleichobjist; andernfallsfalse. Siehe auch:Object.hashCode(),HashMap
-
hashCode
public int hashCode()
Gibt den Hashcode dieses Kalenders zurück.- Überschreibt:
hashCode, KlasseObject- Rückgabewert Der Hashcode-Wert dieses Objekts. Seit Version: 1.2 Siehe auch:
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
before
public boolean before(Object when)
Gibt zurück, ob diesesCalendar是否表示指定的Objectdargestellten Zeit repräsentiert. Diese Methode entspricht:当且仅当compareTo(when) < 0when是Calendar-Beispiel ist. Andernfalls gibt die Methodefalse。- Parameter
when- 待比较的Object- Rückgabewert
true`true`, wenn diese ZeitCalendarvor der durchwhendargestellten Zeit liegt; andernfallsfalse. Siehe auch:compareTo(Calendar)
-
after
public boolean after(Object when)
Gibt zurück, ob diesesCalendar是否表示指定的Objectdargestellten Zeit repräsentiert. Diese Methode entspricht:当且仅当compareTo(when) > 0when是Calendar-Beispiel ist. Andernfalls gibt die Methodefalse。- Parameter
when- 待比较的Object- Rückgabewert
true如果此Calendar的时间when于when. Siehe auch:falsecompareTocompareTo(Calendar)
-
compareTo
public int compareTo(Calendar anotherCalendar)
Objekte anhand der dargestellten Zeitwerte (Millisekunden-Offset ab der Epoch).CalendarSpecified by:- in interface
compareToParameterComparable<Calendar>- - das zu vergleichende
anotherCalendar- 待比较的Calendarwenn die durch den Parameter dargestellte Zeit der von diesem dargestellten Zeit entspricht0; wenn die Zeit diesesCalendarvor der durch den Parameter dargestellten Zeit liegt, ist der Wert kleiner alsCalendar; wenn die Zeit dieses0nach der durch den Parameter dargestellten Zeit liegt, ist der Wert größer alsCalendar. Ausnahme0- wenn das angegebeneNullPointerExceptionistCalendar.null- wenn der Zeitwert des angegebenenIllegalArgumentExceptionObjekts wegen ungültiger Kalenderwerte nicht ermittelt werden kann. Seit Version: 1.5Calendaradd
-
add
public abstract void add(int field, int amount).add(Calendar.DAY_OF_MONTH, -5)。- - das Kalenderfeld.
字段- die Zeitmenge, die zum Feld hinzugefügt werden soll. Siehe auch:amount,roll(int,int)rollset(int,int)
-
roll
public abstract void roll(int field, boolean up)liefert. Beim Rollen des Felds Monat oder Calendar.MONTH können andere Felder wie das Datum kollidieren und müssen geändert werden. Zum Beispiel ergibt das Rollen des Monats beim Datum 01/31/96 das Datum 02/29/96. Beim Rollen des Felds Stunde oder Calendar.HOUR_OF_DAY rollt das Programm den Stundenwert im Bereich von 0 bis 23, beginnend bei null.getMaximum(Calendar.YEAR)Parameter- - das Zeitfeld.
字段- gibt an, ob der Wert des angegebenen Zeitfelds erhöht oder gerollt werden soll. Verwenden Sie true zum Rollen, sonst false. Siehe auch:up- 指示是否要汇总或滚动指定时间字段的值。 如果滚动则使用true,否则使用false.- 另请参见:
-
add(int,int),set(int,int)
-
roll
public void roll(int field, int amount)Fügt den angegebenen (vorzeichenbehafteten) Betrag zum angegebenen Kalenderfeld hinzu, ohne größere Felder zu ändern. Ein negativer Betrag bedeutet das Zurückrollen. Hinweis:CalendarDiese Standardimplementierung ruft wiederholt die Version auf, die um eine Einheit rolltroll(). Dies führt nicht immer zum richtigen Ergebnis. Wenn zum Beispiel dasDAY_OF_MONTHFeld 31 ist, setzt das Rollen auf Februar den Wert 28. EineGregorianCalendarVersion dieser Funktion behebt dieses Problem. Andere Unterklassen müssen diese Funktion ebenfalls überschreiben, um das richtige Ergebnis zu liefern.- Parameter
字段Setzt die Zeitzone mit dem angegebenen Zeitzonenwert.amount- Der vorzeichenbehaftete Betrag, der zum Kalenderfeld hinzugefügt字段wird. Seit Version: 1.2 Siehe auch:roll(int,boolean),add(int,int),set(int,int)
-
setTimeZone
public void setTimeZone(TimeZone value)
使用给定的时区值设置时区。- Parameter
value- Die angegebene Zeitzone.
-
getTimeZone
public TimeZone getTimeZone()
Gibt die Zeitzone zurück.- Ergebnis Das Zeitzonenobjekt, das diesem Kalender zugeordnet ist.
-
setLenient
public void setLenient(boolean lenient)
Gibt an, ob die Datums-/Zeitinterpretation tolerant ist. Bei toleranter Interpretation wird ein Datum wie „942. Februar 1996" als der 941. Tag nach dem 1. Februar 1996 behandelt. Bei strenger (nicht toleranter) Interpretation löst ein solches Datum eine Ausnahme aus. Der Standardwert ist tolerant.- Parameter
lenient-truetrue, wenn der tolerante Modus eingeschaltet werden soll;falsefalse, wenn er ausgeschaltet werden soll. Siehe auch:isLenient(),DateFormat.setLenient(boolean)
-
isLenient
public boolean isLenient()
Gibt an, ob die Datums-/Zeitinterpretation tolerant ist.- Ergebnis
truetrue, wenn der Interpretationsmodus dieses Kalenders tolerant ist; andernfallsfalsefalse. Siehe auch:setLenient(boolean)
-
setFirstDayOfWeek
public void setFirstDayOfWeek(int value)
Legt fest, welcher Tag der erste Tag der Woche ist; zum BeispielSUNDAY在美国,MONDAY在法国。- Parameter
value- Der erste Tag der Woche. Siehe auch:getFirstDayOfWeek(),getMinimalDaysInFirstWeek()
-
getFirstDayOfWeek
public int getFirstDayOfWeek()
Liefert den ersten Tag der Woche. Zum Beispiel:SUNDAY在美国,MONDAY在法国。- Rückgabewert: Der erste Tag der Woche. Siehe auch:
setFirstDayOfWeek(int),getMinimalDaysInFirstWeek()
-
setMinimalDaysInFirstWeek
public void setMinimalDaysInFirstWeek(int value)
Setzt die Mindestanzahl von Tagen, die die erste Woche eines Jahres benötigt. Wenn die erste Woche die Woche mit dem ersten Tag des ersten Monats des Jahres enthält, rufen Sie diese Methode mit dem Wert 1 auf. Wenn sie eine volle Woche sein muss, verwenden Sie den Wert 7.- Parameter
value- die Mindestanzahl von Tagen, die die erste Woche eines Jahres benötigt. Siehe auch:getMinimalDaysInFirstWeek()
-
getMinimalDaysInFirstWeek
public int getMinimalDaysInFirstWeek()
Gibt die Mindestanzahl von Tagen zurück, die die erste Woche eines Jahres benötigt. Wenn die erste Woche die Woche mit dem ersten Tag des ersten Monats des Jahres enthält, gibt diese Methode 1 zurück. Wenn die Mindestanzahl eine volle Woche sein muss, gibt diese Methode 7 zurück.- Rückgabewert: Die Mindestanzahl von Tagen, die die erste Woche eines Jahres benötigt. Siehe auch:
setMinimalDaysInFirstWeek(int)
-
isWeekDateSupported
public boolean isWeekDateSupported()
Gibt zurück, ob diesesCalendarWochendaten unterstützt. Die Standardimplementierung dieser Methode gibtfalse。- Rückgabewert:
truetrue, wenn diesesCalendarWochendaten unterstützt, andernfallsfalsefalse. Seit: 1.7 Siehe auch:getWeekYear(),setWeekDate(int,int,int),getWeeksInWeekYear()
-
getWeekYear
public int getWeekYear()
Gibt dasCalendar表示的Calendardarstellt. Das Wochenjahr ist mit dem Wochenzyklus synchronisiert. Der erste Tag der ersten Woche ist der erste Tag der Woche. Die Standardimplementierung dieser Methode wirft- Rückgabewert: Das
CalendardiesesCalendar- Ausnahme
UnsupportedOperationException- 如果此Calendarkeine Wochenjahrnummerierung unterstützt. Seit: 1.7 Siehe auch:isWeekDateSupported(),getFirstDayOfWeek(),getMinimalDaysInFirstWeek()
-
setWeekDate
public void setWeekDate(int weekYear, int weekOfYear, int dayOfWeek)Setzt das Datum diesesCalendarmit den angegebenen Datumsangaben: Wochenjahr, Woche und Wochentag. Anders als bei dersetMethode werden alle Kalenderfelder undtimeWerte bei der Rückgabe berechnet.Wenn
weekOfYearAußerhalb des gültigen Wochen-Jahres-BereichsweekYear, wird derweekYear个weekOfYearim laxen Modus angepasst oderIllegalArgumentExceptionim nicht-laxen Modus eine Ausnahme ausgelöst.Die Standardimplementierung dieser Methode löst
UnsupportedOperationException。- Parameter
weekYear- das Wochenjahr dieser WocheweekOfYear- die Wochennummer basiert aufweekYear-
dayOfWeek- der Wochentagswert:DAY_OF_WEEKeine der Konstanten des Feldes:SUNDAY, ...,SATURDAY. Ausnahmen IllegalArgumentException- wenn ein angegebener Datumsspezifikator ungültig ist oder ein Kalenderfeld im nicht-laxen Modus nicht zum angegebenen Datumsspezifikator passtUnsupportedOperationException- 如果此Calendarkeine Wochenjahr-Nummerierung unterstützt. Seit Version: 1.7 Siehe auch:isWeekDateSupported(),getFirstDayOfWeek(),getMinimalDaysInFirstWeek()
-
getWeeksInWeekYear
public int getWeeksInWeekYear()
Gibt die Anzahl der Wochen im Wochenjahr zurück, das diesesCalendarObjektCalendardarstellt. Die Standardimplementierung dieser Methode löstUnsupportedOperationException。- Ergebnis Die Anzahl der Wochen im Jahr. Ausnahmen
UnsupportedOperationException- 如果此Calendarkeine Wochenjahr-Nummerierung unterstützt. Seit Version: 1.7 Siehe auch:WEEK_OF_YEAR,isWeekDateSupported(),getWeekYear(),getActualMaximum(int)
-
getMinimum
public abstract int getMinimum(int field)
Gibt denCalendar实例的给定日历字段的CalendarInstanz zurück. Der Minimalwert ist definiert alsgetder kleinste Wert, den die Methode für einen beliebigen möglichen Zeitwert zurückgibt. Der Minimalwert hängt von den kalenderspezifischen Parametern der Instanz ab.- Parameter
字段- das Kalenderfeld. Ergebnis Der Minimalwert des angegebenen Kalenderfelds. Siehe auch:getMaximum(int),getGreatestMinimum(int),getLeastMaximum(int),getActualMinimum(int),getActualMaximum(int)
-
getMaximum
public abstract int getMaximum(int field)
gibt für diesesCalendar实例的给定日历字段的Calendar-Höchstwert des angegebenen Kalenderfelds zurück. Der Höchstwert ist definiert alsgetder größte Wert, den die Methode für einen beliebigen Zeitwert zurückgibt. Der Höchstwert hängt von den spezifischen Parametern des Kalendersystems der Instanz ab.- Parameter
字段- Kalenderfeld. Ergebnis Der Höchstwert des angegebenen Kalenderfelds. Siehe auch:getMinimum(int),getGreatestMinimum(int),getLeastMaximum(int),getActualMinimum(int),getActualMaximum(int)
-
getGreatestMinimum
public abstract int getGreatestMinimum(int field)
gibt für diesesCalendarBeispiel den höchsten Minimalwert des angegebenen Kalenderfelds zurück. Der höchste Minimalwert ist definiert alsgetActualMinimum(int)der größte Wert, den die Methode für einen beliebigen Zeitwert zurückgibt. Der höchste Minimalwert hängt von den spezifischen Parametern des Kalendersystems der Instanz ab.- Parameter
字段- Kalenderfeld. Ergebnis Der niedrigste Minimalwert des angegebenen Kalenderfelds. Siehe auch:getMinimum(int),getMaximum(int),getLeastMaximum(int),getActualMinimum(int),getActualMaximum(int)
-
getLeastMaximum
public abstract int getLeastMaximum(int field)
gibt für diesesCalendarBeispiel den niedrigsten Maximalwert des angegebenen Kalenderfelds zurück. Der niedrigste Maximalwert ist definiert alsgetActualMaximum(int)der kleinste Wert, den die Methode für einen beliebigen Zeitwert zurückgibt. Der niedrigste Maximalwert hängt von den spezifischen Parametern des Kalendersystems der Instanz ab. Zum BeispielCalendargibt die Methode für das Feld im gregorianischen Kalender den Wert 28DAY_OF_MONTHzurück, weil der 28. Februar im gregorianischen Kalender der letzte Tag des kürzesten Monats in einem Gemeinjahr ist.- Parameter
字段- Kalenderfeld. Ergebnis Der niedrigste Maximalwert des angegebenen Kalenderfelds. Siehe auch:getMinimum(int),getMaximum(int),getGreatestMinimum(int),getActualMinimum(int),getActualMaximum(int)
-
getActualMinimum
public int getActualMinimum(int field)
Gibt für den Zeitwert diesesCalendarBeispiels denCalendarDie Standardimplementierung dieser Methode verwendet einen iterativen Algorithmus, um den tatsächlichen Minimalwert des Kalenderfelds zu bestimmen. Unterklassen überschreiben sie nach Möglichkeit mit einer effizienteren Implementierung. In vielen Fällen genügt die Rückgabe vongetMinimum()。- Parameter
字段- Kalenderfeld Ergebnis der Wert desCalendarangegebenen Kalenderfelds dieses ZeitwertsCalendar- Seit Version: 1.2 Siehe auch:
getMinimum(int),getMaximum(int),getGreatestMinimum(int),getLeastMaximum(int),getActualMaximum(int)
-
getActualMaximum
public int getActualMaximum(int field)
Gibt für den Zeitwert diesesCalendarObjekts den maximal möglichen Wert des angegebenen Kalenderfelds zurück.CalendarBeispielsweise beträgt der tatsächliche Maximalwert des FeldsMONTHin manchen Jahren 12, im hebräischen Kalendersystem in anderen Jahren 13. Die Standardimplementierung dieser Methode verwendet einen iterativen Algorithmus, um den tatsächlichen Maximalwert des Kalenderfelds zu bestimmen. Unterklassen müssen diese Methode nach Möglichkeit mit einer effizienteren Implementierung überschreiben.- Parameter
字段- Kalenderfeld Ergebnis der Wert desCalendarangegebenen Kalenderfelds dieses ZeitwertsCalendar- Seit Version: 1.2 Siehe auch:
getMinimum(int),getMaximum(int),getGreatestMinimum(int),getLeastMaximum(int),getActualMinimum(int)
-
clone
public Object clone()
Erstellt eine Kopie dieses Objekts und gibt sie zurück.
-
toString
public String toString()
Gibt eine Zeichenfolgendarstellung dieses Kalenders zurück. Diese Methode dient nur Debug-Zwecken. Das Format des zurückgegebenen Strings variiert je nach Implementierung. Der zurückgegebene String ist leer, aber nichtnull。
-
-