Wie kann ich die "2010-07-14 09:00:02"
-Datumszeichenfolge formatieren, um nur "9:00"
darzustellen?
Verwenden Sie SimpleDateFormat
, um zwischen einer Datumszeichenfolge und einem realen Date
- Objekt zu konvertieren. Mit einer Date
als Startpunkt können Sie problemlos Formatierungen auf der Grundlage verschiedener Muster anwenden, wie sie im Javadoc der SimpleDateFormat
definiert sind.
Hier ist ein Kickoff-Beispiel:
String originalString = "2010-07-14 09:00:02";
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(originalString);
String newString = new SimpleDateFormat("H:mm").format(date); // 9:00
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2010-07-14 09:00:02");
String time = new SimpleDateFormat("H:mm").format(date);
http://download.Oracle.com/javase/1.4.2/docs/api/Java/text/SimpleDateFormat.html
Eine sehr einfache Möglichkeit ist die Verwendung von Formatter
(siehe Datumszeitkonvertierungen ) oder direkter String.format
wie in
String.format("%tR", new Date())
Ich gehe davon aus, dass Ihre erste Zeichenfolge ein tatsächliches Date-Objekt ist. Bitte korrigieren Sie mich, falls ich falsch liege. Wenn ja, verwenden Sie das SimpleDateFormat-Objekt: http://download.Oracle.com/javase/6/docs/api/Java/text/SimpleDateFormat.html . Der Formatstring "h: mm" sollte sich darum kümmern.
Mit einem SimpleDateFormat
Wenn Sie ein Datum in ganzen Zahlen haben, können Sie es wie folgt verwenden:
Date date = new Date();
date.setYear(2010);
date.setMonth(07);
date.setDate(14)
date.setHours(9);
date.setMinutes(0);
date.setSeconds(0);
String time = new SimpleDateFormat("HH:mm:ss").format(date);
Die anderen Antworten waren gute Antworten, als die Frage gestellt wurde. Die Zeit vergeht, Date
und SimpleDateFormat
werden durch neuere und bessere Klassen ersetzt und werden nicht mehr verwendet. Verwenden Sie 2017 die Klassen im Java.time
-Paket:
String timeString = LocalDateTime.parse(dateString, DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm:ss"))
.format(DateTimeFormatter.ofPattern("H:mm"));
Das Ergebnis ist der gewünschte 9:00
.
let datestring = "2017-02-14 02:16:28"
let formatter = DateFormatter()
formatter.dateStyle = DateFormatter.Style.full
formatter.timeStyle = DateFormatter.Style.full
formatter.dateFormat = "yyyy-MM-dd hh:mm:ss"
let date = formatter.date(from: datestring)
let date2 = formatter.String(from: date)