Wie konvertiere ich das aktuelle Datum in Java in einen String?
java
string
date
formatting
user354299
quelle
quelle
Von hier genommen
quelle
Calendar
wünschenswerter alsDate
?quelle
Verwenden Sie eine
DateFormat
Implementierung. zBSimpleDateFormat
.quelle
tl; dr
Es ist besser, die gewünschte / erwartete Zeitzone explizit anzugeben.
java.time
Die moderne Methode ab Java 8 und höher ist das Java.time- Framework.
Geben Sie die Zeitzone an, da das Datum zu einem bestimmten Zeitpunkt weltweit variiert.
Standardmäßig erhalten Sie einen String im Standardformat ISO 8601 .
Verwenden Sie für andere Formate die
java.time.format.DateTimeFormatter
Klasse.Ü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 .
Sie können java.time- Objekte direkt mit Ihrer Datenbank austauschen . Verwenden Sie einen JDBC-Treiber, der mit JDBC 4.2 oder höher kompatibel ist . Keine Notwendigkeit für Zeichenfolgen, keine Notwendigkeit für
java.sql.*
Klassen.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
Schneller :
quelle
Für die Zeit als JJJJ-MM-TT
Und die Library of DateTime ist:
import org.joda.time.DateTime;
quelle
DateTime
? Eine Antwort zum Stapelüberlauf sollte eine Erklärung enthalten, da diese Site mehr als eine Snippet-Bibliothek sein soll.Die meisten Antworten sind / waren gültig. Durch die neue JAVA-API-Änderung für die Datumsbehandlung wurde sichergestellt, dass frühere Unklarheiten bei der Behandlung von Java-Datumsangaben verringert werden.
Sie erhalten eine veraltete Nachricht für ähnliche Anrufe.
Bei dem obigen Aufruf musste der Entwickler davon ausgehen, dass ein neues Date-Objekt das Date-Objekt mit dem aktuellen Zeitstempel liefert. Dieses Verhalten ist in anderen Java-API-Klassen nicht konsistent.
Die neue Methode hierfür ist die Verwendung der Kalenderinstanz .
Auch hier ist die Namenskonvention nicht perfekt, aber sie ist sehr gut organisiert. Für eine Person wie mich, die es schwer hat, Dinge zu überfallen, aber niemals etwas vergessen würde, wenn es logisch klingt / erscheint, ist dies ein guter Ansatz.
Dies ist mehr gleichbedeutend mit dem wirklichen Leben
Eine weitere Möglichkeit, dies zu tun, ist die Verwendung der Joda-Zeit-API
oder das viel Offensichtliche
beide geben das gleiche Ergebnis zurück.
quelle
java.util.Date
,java.util.Calendar
undjava.text.SimpleTextFormat
sind jetzt Erbe , durch die verdrängte java.time Klassen. Außerdem befindet sich das Joda-Time- Projekt jetzt im Wartungsmodus , wobei das Team die Migration zu java.time empfiehlt.Clock
Implementierung in Java 8 entspricht genau den Legacy-Klassen. Nur in Java 9 kommt eine neue Implementierung, die den aktuellen Moment mit einer Auflösung von nur Nanosekunden erfassen kann.quelle
String
Format an Ihre Funktion übergeben.