wake-up-neo.net

Zeit aus Datumszeichenfolge extrahieren

Wie kann ich die "2010-07-14 09:00:02"-Datumszeichenfolge formatieren, um nur "9:00" darzustellen?

45
JJunior

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
109
BalusC
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

12
Adam

Eine sehr einfache Möglichkeit ist die Verwendung von Formatter (siehe Datumszeitkonvertierungen ) oder direkter String.format wie in

String.format("%tR", new Date())
11
Petr Pudlák

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.

4
MikeTheReader
4
Amir Afghani

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);
3
Bohdan Kolesnyk

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.

3
Ole V.V.
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)
0
BHAVIK PANCHAL