Ich kenne Datumsformate wie
"yyyy-mm-dd"
- das Datum im Format 2011-02-26
"yyyy-MMM-dd"
anzeigt - das Datum im Format anzeigt2011-FEB-26
zur Verwendung in zB:
SimpleDateFormat formatter = new SimpleDateFormat(
"yyyy/MMM/dd ");
Ich möchte ein Format, das mir hilft, den Wochentag wie 2011-02-MON
oder so anzuzeigen . Ich möchte nur, dass der Wochentag in Zeichen mit dem Monat und dem Jahr angezeigt wird. Können Sie mir ein solches Format nennen?
java
date
simpledateformat
date-formatting
Rogerstein
quelle
quelle
dd
als Format zu verwenden?-
Notation allgemein nur mit Datumsangaben im ISO-Format (dh Jahr-Monat-Tag). Der Bindestrich wurde dort gewählt, da er zu diesem Zeitpunkt nicht für andere Datumsformate verwendet wurde, um Verwirrung zu vermeiden, und jetzt verwendet jeder seine benutzerdefinierte Bestellung mit dem Bindestrich ...Antworten:
Dies sollte 'Di' anzeigen:
Dies sollte 'Dienstag' anzeigen:
Dies sollte 'T' anzeigen:
Ihr konkretes Beispiel wäre also:
quelle
new SimpleDateFormat("EEEE, dd/MM/yyyy");
wenn es jemandem in der Zukunft hilft.EEEE
zeigt ganze Namen des Wochentags an - dh 'Montag', 'Dienstag' usw.Ja - 'E' macht den Trick
http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
quelle
DateFormat df = new SimpleDateFormat("yyyy-MM-EEEEEEE");
für die Anzeige langer DayOfWeek.EEE steht für Wochentag, zum Beispiel wird Donnerstag als Do angezeigt.
quelle
Du siehst"
Siehe den Abschnitt über Datums- und Zeitmuster :
JavaDocs für SimpleDateFormat
quelle
tl; dr
java.time
Der moderne Ansatz verwendet die Klassen java.time.
Beachten Sie, wie wir angeben
Locale
, wieLocale.CANADA_FRENCH
die menschliche Sprache zu bestimmen , verwendet , um den Namen des Tages zu übersetzen.ISO 8601
Übrigens könnte Sie das Standard- Wochennummerierungsschema ISO 8601 interessieren :
yyyy-Www-d
.Woche 1 hat den ersten Donnerstag des Kalenderjahres. Die Woche beginnt an einem Montag. Ein Jahr hat entweder 52 oder 53 Wochen. Die letzten / ersten Tage eines Kalenderjahres können im nächsten / vorherigen wochenbasierten Jahr landen.
Die einzelne Ziffer am Ende ist Wochentag, 1-7 für Montag-Sonntag.
Fügen Sie Ihrem Projekt die ThreeTen-Extra- Bibliotheksklasse für die
YearWeek
Klasse hinzu.Über java.time
Das java.time- Framework ist in Java 8 und höher integriert. Diese Klassen verdrängen die lästigen alten Legacy - Datum-Zeit - Klassen wie
java.util.Date
,Calendar
, &SimpleDateFormat
.Das Joda-Time- Projekt, das sich jetzt im Wartungsmodus befindet , empfiehlt die Migration zu den Klassen java.time .
Weitere Informationen finden Sie im Oracle-Lernprogramm . Suchen Sie im Stapelüberlauf nach vielen Beispielen und Erklärungen. Die Spezifikation ist JSR 310 .
Woher bekomme ich die java.time-Klassen?
Das ThreeTen-Extra- Projekt erweitert java.time um zusätzliche Klassen. Dieses Projekt ist ein Testfeld für mögliche zukünftige Ergänzungen von java.time. Sie können einige nützliche Klassen hier wie finden
Interval
,YearWeek
,YearQuarter
, und mehr .quelle
Ich weiß, dass es bei der Frage darum geht, den Wochentag als Zeichenfolge zu erhalten (z. B. den Kurznamen), aber für alle, die nach dem numerischen Wochentag suchen (wie ich es war), können Sie die neue Zeichenfolge im "u" -Format verwenden, die unterstützt wird seit Java 7. Zum Beispiel:
gibt den heutigen Wochentagsindex zurück, nämlich: 1 = Montag, 2 = Dienstag, ..., 7 = Sonntag.
quelle