Java: formato incorrecto SimpleDateFormat

En mi base de datos Postgresql, tengo una marca de tiempo sin zona horaria con este valor: "2012-06-15 17:49:46.423"(tipo de datos predeterminado utilizado por Hibernate).

Si formateo con SimpleDateFormat y este patrón "EEEE dd MMMM yyyy", el formato SimpleDateFormat # devuelve "jeudi 14 juin 2012".

¿Por qué el resultado no es "vendredi 15 juin 2012"?

Traducción del francés al inglés para personas que no hablan francés:

"jeudi 14 juin 2012"    => "Thursday 14th of June 2012"
"vendredi 15 juin 2012" => "Friday 15th of June 2012"

Hibernate 3.6.8.Final
JSF 2.0
JBoss 5.1.0.GA
Java 6

Gracias.

Respuesta 1

Te muestra solo un día antes de lo que esperas. La razón podría ser la hora del servidor, que está en otra zona horaria, supongo. De todos modos, el siguiente código funciona bien:

SimpleDateFormat sdf = new SimpleDateFormat("EEEE dd MMMM yyyy", Locale.FRENCH);
System.out.println(sdf.format(new Date()));
Respuesta: 2

Después de buscar, resulta que tenía dos opciones principales. O configuro la zona horaria a través de Hibernate o JSF.

Opción 1: Hibernar
Podría cambiar el tipo de acceso a Propiedad. Entonces, en el setter, ajustaría el valor de la marca de tiempo a la zona horaria correcta. Otra solución sería crear un tipo de usuario de Hibernate personalizado.

Detalles completos con el código aquí: Asignación de fechas y zonas horarias con Hibernate, Parte 2: Pocas soluciones

Opción 2: JSF
Última opción, o creo un custom converterJSF o simplemente, utilizo el atributo timeZone de f:convertDateTime.

Así es como lo hice:

<h:outputText value="#{row.date}">
    <f:convertDateTime pattern="EEEE dd MMMM yyyy" locale="fr_FR" type="date" timeZone="Europe/Paris" />
</h:outputText>

¡Todas mis fechas son correctas ahora!

Fuente (en francés): Comentario del usuario de la zona horaria del compensador JSF convertDateTime

Respuesta: 3

Estoy tratando de asignar una cadena JSON a una clase Java usando Jackson. clase pública ChartData {List <String> xAxis = new ArrayList <String> (); List <String> yAxis = new ArrayList <...

Tengo un objeto JAXB (ProductRequest) que representa un documento XML para una solicitud de servicio web. Suponga que se parece a esto: <ProductRequest> <getProducts /> </ ProductRequests & ...

Hola, estoy haciendo un programa Gui usando un diseño nulo y un método setBounds () para el diseño. En el programa quiero 25 cadenas impresas en la pantalla en ubicaciones aleatorias. Sé que podría hacer esto ...

Soy nuevo en Spring Boot y he estado intentando conectarlo a mi banco de trabajo MySql. Comencé un nuevo proyecto Spring Boot con web, jdbc, jpa e hibernate, pero me he quedado atascado. Hay un numero ...