Ich würde gerne wissen, ob es eine bestehende Enum gibt, die alle Wochentage in Java enthält. Ich benutze Calendar, um Zeitlogik zu behandeln, aber ich habe so etwas nicht gesehen (ich könnte es selbst erstellen, aber ich würde eher etwas Existierendes verwenden). Ich sah auch die threeten project, aber es ist immer noch in Alpha. Da ein Enum, das Wochentage enthält, so trivial ist, dass es in der enum-Dokumentation von der Sonne gezeigt wird, dachte ich, es könnte bereits etwas existieren. Irgendwelche Ideen ?Enum Tage in Java mit Kalender
Antwort
Im Kalender Klasse gibt es:
/**
* Value of the {@link #DAY_OF_WEEK} field indicating
* Sunday.
*/
public final static int SUNDAY = 1;
/**
* Value of the {@link #DAY_OF_WEEK} field indicating
* Monday.
*/
public final static int MONDAY = 2;
/**
* Value of the {@link #DAY_OF_WEEK} field indicating
* Tuesday.
*/
public final static int TUESDAY = 3;
/**
* Value of the {@link #DAY_OF_WEEK} field indicating
* Wednesday.
*/
public final static int WEDNESDAY = 4;
/**
* Value of the {@link #DAY_OF_WEEK} field indicating
* Thursday.
*/
public final static int THURSDAY = 5;
/**
* Value of the {@link #DAY_OF_WEEK} field indicating
* Friday.
*/
public final static int FRIDAY = 6;
/**
* Value of the {@link #DAY_OF_WEEK} field indicating
* Saturday.
*/
public final static int SATURDAY = 7;
(Quelle: java.util.Calendar)
Nicht eine Enumeration, weil es keine gab, als Kalender in JDK 1.1 eingeführt wurde.
Ich bin mir bewusst, dass ich jeden Tag zugreifen kann. Was ich möchte, ist eine Liste, die alle Tage enthält, ohne sie selbst zu erstellen. Außerdem hätte ich gerne String-Werte, nicht int. – fxm
@fxm, sollten Sie Enum selbst erstellen, wenn Sie es wollen, wird es nicht viel Zeit in Anspruch nehmen. Wie gesagt, "Kalender" -Klasse wurde eingeführt, bevor enums in Java kam – SpongeBobFan
Ich denke, ich werde es tun, es ist nur eine seltsame etwas wie das nicht bereits existiert. – fxm
Die problematischen alten Datum-Zeit-Klassen wie java.util.Calendar
sind jetzt veraltet, ersetzt durch java.time Klassen.
java.time.DayOfWeek
Enum
Java enthält jetzt die java.time.DayOfWeek
Enum.
Führen Sie die Objekte dieser Enumeration lieber als die ganzen Zahlen 1-7 durch, um Ihren Code selbstdokumentierender zu machen, die Typensicherheit zu gewährleisten und eine Reihe gültiger Werte sicherzustellen.
invoices.printReportForDayOfWeek(DayOfWeek.MONDAY);
Nummerierung ist 1-7 für Montag bis Sonntag, nach ISO 8601 Standard.
Ermitteln Sie einen lokalisierten Namen des Tages, indem Sie getDisplayName
aufrufen.
String output = DayOfWeek.MONDAY.getDisplayName(TextStyle.FULL , Locale.CANADA_FRENCH) ; // Or Locale.US, etc.
Um mehrere Tage in der Woche, verwenden Sie eine EnumSet
(Implementierung von Set
) oder EnumMap
(Implementierung von Map
) zu verfolgen.
Set<DayOfWeek> weekend = EnumSet.of(DayOfWeek.SATURDAY , DayOfWeek.SUNDAY) ;
…
Boolean todayIsWeekend = weekend.contains(LocalDate.now(ZoneId.of("America/Montreal")).getDayOfWeek());
Über java.time
Der java.time Rahmen in Java 8 gebaut und später. Diese Klassen ersetzen die alten problematischen Datum-Zeit-Klassen wie java.util.Date
, .Calendar
, & java.text.SimpleDateFormat
.
Das Projekt Joda-Time, jetzt in maintenance mode, empfiehlt die Migration zu java.time.
Weitere Informationen finden Sie unter Oracle Tutorial. Und suchen Sie nach Stack Overflow für viele Beispiele und Erklärungen.
Ein Großteil der Funktionalität java.time zurück-portiert Java 6 & 7 in ThreeTen-Backport und auf Android in ThreeTenABP angepasst.
Das Projekt ThreeTen-Extra erweitert java.time um zusätzliche Klassen. Dieses Projekt ist ein Testfeld für mögliche zukünftige Erweiterungen von java.time. Sie können hier einige nützliche Klassen wie Interval
, YearWeek
, YearQuarter
und mehr finden.
- 1. Subtrahierend Tage in einem Kalender Objekt
- 2. Tage zwischen zwei Datums- oder Kalender-Objekten in Java berechnen
- 3. Wie 30 Tage zurück von heute zu berechnen mit Kalender in Java
- 4. Maya-Kalender in Java
- 5. Java-Kalender-Pass als Referenz?
- 6. Javascript Kalender mit Drag für mehrere Tage auswählen
- 7. nullPointerException mit Enum mit Runnables in Java
- 8. String Enum in Java
- 9. Enum in Java. Vorteile?
- 10. Wie Tage in Java hinzufügen?
- 11. Java benutzerdefinierte Enum-Wert ENUM
- 12. Java - Enum mit Array-Feld
- 13. Java enum mit mehreren Werttypen
- 14. Nehmen Sie einen einzigen Tag mit Kalender in Java?
- 15. Java Kalender Planungsereignisse
- 16. Kalender-Programm erforderliche Unterstützung in Java
- 17. Java Kalender und Datumsformat
- 18. Java-Kalender-Arithmetik Ausgabe
- 19. Java Arabisch (Hirji) Kalender
- 20. java gregorian Kalender Timer
- 21. Java: Enum Parameter in Methode
- 22. Android Kalender Kommissionierung Geburtstag gibt falsche Tage für eine Bedingung
- 23. Subtrahieren von Daten mit Java-Kalender
- 24. Fehler in Java Kalender/Datum für 2. Oktober 2010?
- 25. Spezifische Tagesnummer mit Java Kalender-API
- 26. Java enum zu mysql enum in vorbereitete Anweisung
- 27. Sind Enum-Instanzen im Enum-Typ in Java "eingeschlossen"?
- 28. Java Enum best practice
- 29. abstract java enum
- 30. Java Enum Erbe
Wenn Sie nach einer vernünftigen API für Datum und Uhrzeit suchen, werfen Sie einen Blick auf http://www.joda.org/joda-time/ - wenn sie keine Enumeration für die Wochentage haben, obwohl. Warum brauchst du eins? –
@PhilippReichart Ich möchte Tabellen in JSP mit einer Spalte für jeden Tag anzeigen. – fxm
Also das ist über i18n? – atamanroman