IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

Timezone - Inserer les dates en GMT ?


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Par défaut Timezone - Inserer les dates en GMT ?
    Bonjour à tous,

    Je me bats en ce moment avec les timezone :'(

    J'ai un serveur web + BD à timezone -9 et je veux afficher les heures au fuseau français sur la page Web.

    Que fait Hibernate ? Il insère des dates au timezone du serveur (-9). Evidemment il me les réaffiche en -9

    Du coup, j'ai mis le defaultTimeZone de mon appli Java à "Europe/Paris".
    La Hibernate insère au timezone francais
    Mais devinez ce qu'il m'affiche ? +9 !
    Du coup, j'insère un champ dans la base à 20h, il met 20h dans la base et m'affiche 20h+9 = 5h du matin...

    -BANG-

    Une solution ?

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    Citation Envoyé par tiboudchou Voir le message
    Bonjour à tous,

    Je me bats en ce moment avec les timezone :'(

    J'ai un serveur web + BD à timezone -9 et je veux afficher les heures au fuseau français sur la page Web.

    Que fait Hibernate ? Il insère des dates au timezone du serveur (-9). Evidemment il me les réaffiche en -9

    Du coup, j'ai mis le defaultTimeZone de mon appli Java à "Europe/Paris".
    La Hibernate insère au timezone francais
    Mais devinez ce qu'il m'affiche ? +9 !
    Du coup, j'insère un champ dans la base à 20h, il met 20h dans la base et m'affiche 20h+9 = 5h du matin...

    -BANG-

    Une solution ?
    la plupart des discussions sur le sujet débouche sur l'utilisation d'un UserType

    http://www.hibernate.org/100.html
    http://joda-time.sourceforge.net/con...ateTimeTZ.html

  3. #3
    Membre confirmé
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Par défaut
    Merci pour ta réponse.
    Alors perso, la solution que j'ai trouvée :

    Dans mon appli, je mets le TimeZoneDefault à GMT, comme ça, Hibernate enregistre toutes les dates en GMT dans la base.
    Puis, à chaque fois que je veux afficher une date à l'utilisateur, et bien je la convertie dans le TimeZone du pays de l'utilisateur.

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    Citation Envoyé par tiboudchou Voir le message
    Merci pour ta réponse.
    Alors perso, la solution que j'ai trouvée :

    Dans mon appli, je mets le TimeZoneDefault à GMT, comme ça, Hibernate enregistre toutes les dates en GMT dans la base.
    Puis, à chaque fois que je veux afficher une date à l'utilisateur, et bien je la convertie dans le TimeZone du pays de l'utilisateur.
    … c'est en effet ce que font les UserType suggérés…
    simplement en faisant un UserType cela se passe de manière transparente et centralisée…
    on ne doit plus penser au problème des TZ qu'au moment du choix du type de données…

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/11/2014, 17h16
  2. Help!! Probleme avec les dates sur SQL SERVER
    Par Nadaa dans le forum MS SQL Server
    Réponses: 16
    Dernier message: 03/08/2006, 16h55
  3. [JDBC] inserer une date
    Par zozolh2 dans le forum JDBC
    Réponses: 9
    Dernier message: 01/06/2004, 10h28
  4. [Interbase] [Access] les dates
    Par AnestheziE dans le forum InterBase
    Réponses: 17
    Dernier message: 26/11/2003, 14h40
  5. opérations sur les dates
    Par coucoucmoi dans le forum Débuter
    Réponses: 2
    Dernier message: 12/08/2003, 11h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo