Bonjour à tous,
Je rencontre un problème de date dans le cadre du développement d'un chat en Java. Avant l'insertion d'un message en base de données, je set la date du message en utilisant un GregorianCalendar. Malheureusement, tous les messages sont datés 2h avant l'heure réelle. Par exemple, j'écris un message à 15:20:33, il sera enregistré comme ayant été rédigé à 13:20:33 :?
Ci-dessous un extrait de la structure de l'objet Message et du code réalisant l'insertion du message en base de données:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public class Message { private Long id; private Calendar date; private String message; // ... public void setDate(Calendar date) { this.date = date; } // ... }
J'ai bien essayé de passé un objet TimeZone ou un objet Locale dans le constructeur de GregorianCalendar, malheureusement, rien n'y fait... :(Code:
1
2
3
4
5
6
7
8
9
10 // ... Message msg = new Message(); // ... msg.setDate(new GregorianCalendar()); // ...
En soit, ce n'est pas vraiment un problème, mais côté base de données, un job efface toutes les 30 secondes tous les messages plus vieux d'1/2 heure...Code:
1
2
3
4
5
6 msg.setDate(new GregorianCalendar(TimeZone.getTimeZone("France/Paris"))); msg.setDate(new GregorianCalendar(TimeZone.getTimeZone("GMT+01/00"))); msg.setDate(new GregorianCalendar(Locale.FRANCE));
Merci d'avance pour vos réponses ;)