Risposte:
java.sql.Timestamp
si estende java.util.Date
. Tu puoi fare:
String s = new SimpleDateFormat("MM/dd/yyyy").format(myTimestamp);
O per includere anche il tempo:
String s = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(myTimestamp);
Usa String.format (o java.util.Formatter ):
Timestamp timestamp = ...
String.format("%1$TD %1$TT", timestamp)
EDIT:
consultare la documentazione di Formatter per sapere cosa significano TD e TT: fare clic su java.util.Formatter
La prima 'T' sta per:
't', 'T' date/time Prefix for date and time conversion characters.
e il carattere che segue quella "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
.
Per questa particolare domanda, il suggerimento standard java.text.SimpleDateFormat
funziona, ma ha lo sfortunato effetto collaterale che SimpleDateFormat
non è thread-safe e può essere fonte di problemi particolarmente fastidiosi poiché corromperà il tuo output in scenari multi-thread e non lo farai ottenere eventuali eccezioni!
Consiglio vivamente di guardare Joda per qualcosa di simile. Perché ? È una libreria di data / ora molto più ricca e intuitiva per Java rispetto alla libreria corrente (e la base della nuova libreria di data / ora Java standard emergente, quindi imparerai presto a essere standard API).
Se stai usando MySQL e vuoi che il database stesso esegua la conversione, usa questo:
DATE_FORMAT (data, il formato)
Se preferisci formattare usando Java, usa questo:
SimpleDateFormat dateFormat = new SimpleDateFormat("M/dd/yyyy");
dateFormat.format( new Date() );
Usa un file DateFormat
. In un'applicazione internazionalizzata, utilizza il formato fornito da getInstance
. Se desideri controllare esplicitamente il formato, creane uno nuovo SimpleDateFormat
.