Tu pregunta es vaga y ambigua. Dejaré de lado la ambigüedad de la zona horaria.
Sospecho que de alguna manera estás obteniendo un long
o tal vez una String
valor de la base de datos en lugar de una Date
. En JDBC, normalmente le gustaría usar los métodos apropiados para obtener los tipos de datos específicos de la base de datos. MySQL TIMESTAMP
El tipo de datos se puede obtener mediante ResultSet#getTimestamp()
que le da un java.sql.Timestamp
que a su vez es una subclase de java.util.Date
.
En pocas palabras, lo siguiente debería hacer:
Date date = resultSet.getTimestamp("columnname");
Para formatearlo aún más en un formato legible por humanos cada vez que lo presente al usuario final, use SimpleDateFormat
. Haga clic en el enlace, contiene una descripción general de todos los patrones. He aquí un ejemplo:
String dateString = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
Para hacer todo lo contrario, use respectivamente SimpleDateFormat#parse()
y PreparedStatement#setTimestamp()
.