El método Date toString () devuelve diferentes cadenas

JDBCTemplate está devolviendo una java.sql.Dateinstancia que se extiende java.util.Date. Los JavaDocs de esatoString() implementación explican el formato de fecha utilizado:

Formatea una fecha en el formato de escape de fecha aaaa-mm-dd.

La toString()implementación dejava.util.Date utiliza un formato de fecha y hora más largo:

Convierte este objeto Date en una cadena del formulario: dow mon dd hh:mm:ss zzz yyyy

El tipo de su campo de fecha podría ser Objecty aún podría asignar una java.sql.Dateo cualquier subclase al campo. Es la clase de tiempo de ejecución de la variable que determina el comportamiento a través del envío dinámico de métodos, es decir, qué toString()implementación se invoca.

Si desea convertir la subclase en una java.util.Dateinstancia "simple" , puede mirar aquí. Tenga en cuenta que la parte de tiempo siempre se omitirá de un SQL DATE. Si necesita esa información, debe usarla TIMESTAMPen su lugar.

Respuesta 1

cuando imprimo en la consola returnObject.getDate (). toString (), devuelve "2017-08-04", pero cuando hago una nueva Date (). toString (), devuelve el lunes 25 de marzo 17:36:32 GMT 2019

Así de simple.

El returnedObject.getDate()código devuelve un objeto de java.sql.Datetipo, mientras que lo más probable es que la Dateclase en su segundo caso sea java.util.Date.

Según los documentos de Javajava.sql.Date , su toStringmétodo devuelve una cadena en yyyy-mm-ddformato.

Y según los documentos de Javajava.util.Date , su toStringmétodo devuelve una cadena en dow mon dd hh:mm:ss zzz yyyyformato.

Respuesta: 2

Aunque la clase Fecha está destinada a reflejar el tiempo universal coordinado (UTC), es posible que no lo haga exactamente, según el entorno de host de la Máquina virtual Java, de acuerdo con la documentación de Java de la clase de fecha. Creo que eso significa que está mirando el formato de fecha de su sistema mientras la consulta SQL viene con el formato UTC. No hay un parámetro de fecha que cambie el formato. Debe aplicarlo como dijo a través del formateador de fecha. Mire la clase DateFormater: https://docs.oracle.com/javase/7/docs/api/java/text/DateFormat.html Particularmente el método de formato.

Respuesta: 3

Tenemos un servicio web alojado en el servidor de aplicaciones Tomcat que está dirigido por un servidor web Apache. Este servidor web está protegido por sideminder. El servicio web se implementa utilizando JAX WS 2. Cuando intento acceder ...

Tengo la cadena de entrada como 2012-07-27 y quiero la salida como Fecha pero con el mismo formato como 2012-07-27 Code DateFormat df = new SimpleDateFormat ("aaaa-MM-dd hh: mm: ss"); tratar { ...

Estoy tratando de configurar JCuda y ejecutar un kernel de adición de muestra. Cuando intento ejecutar JCudaVectorAdd después de compilar JCudaVectorAdd.java, obtengo el siguiente error: Excepción en el hilo "main" ...

Spring Security 3.0.5 está lanzando la siguiente advertencia en Eclipse: la clase 'org.springframework.security.core.userdetails.memory.UserMap' está marcada en desuso para la siguiente configuración: <...