2016-02-03 7 views
6

Ist es möglich/Format zu konvertieren java.sql.Timestmap in einen String, der das folgende Format hat:Format java.sql.Timestamp in einen String

yyyyMMdd

Ich weiß, dass es mit einem String tun einfach zB ist ziemlich:

String dateString = "2016-02-03 00:00:00.0"; 
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").parse(dateString); 
String formattedDate = new SimpleDateFormat("yyyyMMdd").format(date); 

Aber ich mit dem Timestamp Objekt arbeiten.

Antwort

7

Sie könnten so etwas tun:

Timestamp ts = ...; 
Date date = new Date(); 
date.setTime(ts.getTime()); 
String formattedDate = new SimpleDateFormat("yyyyMMdd").format(date); 
+0

Zeitstempel erweitern Datum – Kashyap

+0

@Kashyap: Ich weiß nicht ganz Ihren Kommentar bekommen. – npinti

+0

'SimpleDateFormat.format()' akzeptiert den Typ 'Timestamp'. Es ist nicht nötig ein 'neues Date()' zu erstellen. – Kashyap

6

Die java.sql.Timestamp erstreckt java.util.Date, so können Sie es formatiert werden genau die gleiche Art und Weise:

String formattedDate = new SimpleDateFormat("yyyyMMdd").format(date); 

Parsing ist fast das gleiche, man es bauen kann seine "Millis" Darstellung mit:

Timestamp timestamp = new Timestamp(new SimpleDateFormat("yyyyMMdd").parse(formattedDate).getTime()); 
1

Verwenden www.joda.org/joda-time/

public static String timestampAsString(Timestamp timestamp) { 
    return DateTimeFormat.forPattern("yyyyMMdd").print(timestamp.getTime()); 
}