Antworten:
java.sql.Timestamp
erstreckt sich java.util.Date
. Du kannst tun:
String s = new SimpleDateFormat("MM/dd/yyyy").format(myTimestamp);
Oder um auch die Zeit einzuschließen:
String s = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(myTimestamp);
Verwenden Sie String.format (oder java.util.Formatter ):
Timestamp timestamp = ...
String.format("%1$TD %1$TT", timestamp)
BEARBEITEN: In
der Dokumentation von Formatter erfahren Sie, was TD und TT bedeuten: Klicken Sie auf java.util.Formatter
Das erste 'T' steht für:
't', 'T' date/time Prefix for date and time conversion characters.
und das Zeichen nach 'T':
'T' Time formatted for the 24-hour clock as "%tH:%tM:%tS".
'D' Date formatted as "%tm/%td/%ty".
05/30/17 00:39:18
.
Für diese spezielle Frage java.text.SimpleDateFormat
funktioniert der Standardvorschlag von Arbeiten, hat jedoch den unglücklichen Nebeneffekt, der SimpleDateFormat
nicht threadsicher ist und die Ursache für besonders schlimme Probleme sein kann, da er Ihre Ausgabe in Multithread-Szenarien beschädigt und Sie dies nicht tun Ausnahmen bekommen!
Ich würde dringend auf der Suche empfehlen Joda für so etwas. Warum ? Es ist eine viel umfangreichere und intuitivere Zeit- / Datumsbibliothek für Java als die aktuelle Bibliothek (und die Grundlage für die aufstrebende neue Standard-Java-Datums- / Zeitbibliothek, sodass Sie eine baldige Standardbibliothek erlernen werden API).
Wenn Sie MySQL verwenden und möchten, dass die Datenbank selbst die Konvertierung durchführt, verwenden Sie Folgendes:
Wenn Sie lieber mit Java formatieren möchten, verwenden Sie Folgendes:
SimpleDateFormat dateFormat = new SimpleDateFormat("M/dd/yyyy");
dateFormat.format( new Date() );
Verwenden Sie a DateFormat
. Verwenden Sie in einer internationalisierten Anwendung das von bereitgestellte Format getInstance
. Wenn Sie das Format explizit steuern möchten, erstellen Sie selbst ein neues SimpleDateFormat
.