Ich möchte eine java.util.Date
Objekt zu einem String
in Java.
Das Format ist 2010-05-30 22:15:52
Ich möchte eine java.util.Date
Objekt zu einem String
in Java.
Das Format ist 2010-05-30 22:15:52
In einer einzigen Aufnahme ;)
So erhalten Sie das Datum
String date = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(new Date());
So erhalten Sie die Zeit
String time = new SimpleDateFormat("hh:mm", Locale.getDefault()).format(new Date());
So erhalten Sie das Datum und die Uhrzeit
String dateTime = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss", Locale.getDefaut()).format(new Date());
Viel Spaß beim Codieren :)
Zu Ihrer Information: Die lästigen alten Datum-Zeit-Klassen wie java.util.Date
, java.util.Calendar
y java.text.SimpleDateFormat
sind jetzt Erbe , ersetzt durch die java.time Klassen, die in Java 8 und Java 9 integriert sind, siehe Anleitung von Oracle .
Es sieht so aus, als suchten Sie SimpleDateFormat .
Format: jjjj-MM-tt kk:mm:ss
Ja, die Stunde am Tag (1-24), aber das ist wahrscheinlich nicht das, was der OP braucht. HH
(0-23) häufiger vorkommt.
@Cahrlie Salts kk geht von 1-24, während HH von 0-23 geht, und es war wahrscheinlich etwas vermessen von mir anzunehmen, dass er 1-24 wollte @BalusC Das DateFormat-Objekt parst und formatiert.
public static String formateDate(String dateString) {
Date date;
String formattedDate = "";
try {
date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss",Locale.getDefault()).parse(dateString);
formattedDate = new SimpleDateFormat("dd/MM/yyyy",Locale.getDefault()).format(date);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return formattedDate;
}
Hier sind Beispiele für die Verwendung neuer Java 8 Zeit-API zu formatieren Erbe java.util.Date
:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss:SSS Z")
.withZone(ZoneOffset.UTC);
String utcFormatted = formatter.format(date.toInstant());
ZonedDateTime utcDatetime = date.toInstant().atZone(ZoneOffset.UTC);
String utcFormatted2 = utcDatetime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss:SSS Z"));
// gives the same as above
ZonedDateTime localDatetime = date.toInstant().atZone(ZoneId.systemDefault());
String localFormatted = localDatetime.format(DateTimeFormatter.ISO_ZONED_DATE_TIME);
// 2011-12-03T10:15:30+01:00[Europe/Paris]
String nowFormatted = LocalDateTime.now().toString(); // 2007-12-03T10:15:30.123
Es ist schön über DateTimeFormatter
dass sie effizient zwischengespeichert werden kann, da sie thread-sicher ist (im Gegensatz zu SimpleDateFormat
).
Liste der vordefinierten Fomatters und Verweis auf die Musternotation .
Credits:
Wie kann man Daten mit LocalDateTime parsen/formatieren? (Java 8)
Java8 java.util.Date Umwandlung in java.time.ZonedDateTime
Was ist der Unterschied zwischen java 8 ZonedDateTime und OffsetDateTime?
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
2 Stimmen
Ähnliche Frage: stackoverflow.com/questions/4772425/format-date-in-java
0 Stimmen
@harschware FYI, die Joda-Time Projekt ist jetzt in Wartungsmodus Das Team rät zur Migration auf den java.time Klassen. Siehe Anleitung von Oracle .
1 Stimmen
Ich empfehle Ihnen, nicht zu verwenden und
Date
im Jahr 2019. Diese Klasse ist schlecht konzipiert und längst überholt. Verwenden Sie stattdessenInstant
oder eine andere Klasse aus java.time, die moderne Java-API für Datum und Uhrzeit .