Respuestas:
java.sql.Timestamp
se extiende java.util.Date
. Tu puedes hacer:
String s = new SimpleDateFormat("MM/dd/yyyy").format(myTimestamp);
O para incluir también el tiempo:
String s = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(myTimestamp);
Utilice String.format (o java.util.Formatter ):
Timestamp timestamp = ...
String.format("%1$TD %1$TT", timestamp)
EDITAR:
consulte la documentación de Formatter para saber qué significa TD y TT: haga clic en java.util.Formatter
La primera 'T' significa:
't', 'T' date/time Prefix for date and time conversion characters.
y el carácter que sigue a esa '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
.
Para esta pregunta en particular, la sugerencia estándar de java.text.SimpleDateFormat
funciona, pero tiene el desafortunado efecto secundario de que SimpleDateFormat
no es seguro para subprocesos y puede ser la fuente de problemas particularmente desagradables, ya que corromperá su salida en escenarios de subprocesos múltiples, y usted no lo hará. ¡obtenga excepciones!
Recomiendo encarecidamente mirar a Joda para algo como esto. Por qué ? Es una biblioteca de fecha / hora mucho más rica e intuitiva para Java que la biblioteca actual (y la base de la nueva biblioteca de fecha / hora estándar de Java, por lo que aprenderá una biblioteca que pronto será estándar API).
Si está usando MySQL y desea que la base de datos en sí misma realice la conversión, use esto:
Si prefiere formatear usando Java, use esto:
SimpleDateFormat dateFormat = new SimpleDateFormat("M/dd/yyyy");
dateFormat.format( new Date() );
Utilice un DateFormat
. En una aplicación internacionalizada, utilice el formato proporcionado por getInstance
. Si desea controlar explícitamente el formato, cree uno nuevo SimpleDateFormat
usted mismo.