2016-07-11 5 views
2

Ich konvertiere Epoch Format Zeit in das normale Format, aber wenn ich es zu Datum umwandeln, bekomme ich, MM-TT-JJJJ hh: mm: ss.Kann in Java der Datentyp Date nur MM-TT-JJJJ oder nur HH: MM: SS enthalten?

Wenn ich nur das Datum oder die Uhrzeit heraussuchen möchte, muss ich SimpleDateFormat verwenden. Aber das gibt einen String zurück. Ich habe mich gefragt, ob es eine Möglichkeit gibt, diese Zeichenfolge zu einem Datumstyp zu machen.

+2

nicht klar, was Sie Fragen. Bitte zeigen Sie einen Beispielcode. – OldProgrammer

+2

"Wenn ich es umwandele, bekomme ich, MM-TT-JJJJ hh: mm: ss." ein Datum ist ein Datum, es hat kein Format –

+1

Ein Datum ist ein einzelner Zeitpunkt, während eine Zeit ein sich wiederholender Zeitpunkt (jeden Tag) und abhängig von der Zeitzone ist. Auf der anderen Seite ist ein _day_ ein Zeitraum und selbst wenn Sie nur den Tag, den Monat und das Jahr angeben, erhalten Sie einen einzelnen Zeitstempel (mit der Zeit 00: 00: 00,000). Java 8 verfügt jedoch über Klassen wie 'LocalTime', die Sie möglicherweise verwenden möchten. – Thomas

Antwort

5

Der Typ java.util.Date ist eigentlich ein Zeitstempel, es ist nicht viel mehr als ein Wrapper für eine Anzahl von Millisekunden seit 01-01-1970, 00:00:00 UTC. (Der Klassenname Date ist leider schlecht gewählt).

Es ist nicht sehr gut geeignet, um nur ein Datum oder nur einen Zeitwert zu halten.

Wenn Sie Java 8 verwenden, verwenden Sie die neue API für Datum und Uhrzeit (Paket java.time); Verwenden Sie beispielsweise LocalDate, wenn Sie ein Jahr/Monat/Tag speichern möchten, oder LocalTime, wenn Sie nur eine Uhrzeit (Stunden, Minuten, Sekunden, Millisekunden) speichern möchten.

Wenn Sie Java 7 oder älter verwenden, sollten Sie die entsprechenden Klassen in der Bibliothek Joda Time verwenden.

+1

Die meisten * java.time * -Funktionen werden im Projekt [ThreeTen-Backport] (http://www.threeten.org/threetenbp/) zurück zu Java 6 & 7 portiert. Weitere Anpassung an Android im Projekt [ThreeTenABP] (https://github.com/JakeWharton/ThreeTenABP). Das Joda-Time Team empfiehlt die Migration zu java.time. –

0

Sie können das Datumsformat als MM-TT-JJJJ HH: mm: ss nicht (MM-TT-JJJJ hh: mm: ss)

https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

DateFormat dateformat= new SimpleDateFormat("MM-dd-yyyy HH:mm:ss"); 
Date date = dateformat.parse("01-25-1988 23:54:59"); 
System.out.println(date); 
System.out.println(dateformat.format(date)); 
+0

http://tutorials.jenkov.com/java-internationalization/simpledateformat.html – Pavan

Verwandte Themen