sql >> Base de Datos >  >> RDS >> Mysql

Conversión de marca de tiempo de MySQL a fecha de Java

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() .