Convertir date anglaise en francaise

Convertir date anglaise en francaise - Java - Programmation

Marsh Posté le 08-01-2008 à 15:13:26    

Bonjour,
j'ai un petit problème concernant la convertion d'une date en java.
 
Je recois une date au fuseau GMT et je veux la mettre au fuseau horaire de paris mais je n'y arrive pas.  :(  
 
Voici mon code (qui ne répond pas ce que je veux)
[java]
TimeZone tz = TimeZone.getTimeZone("GMT" );
Calendar cal = GregorianCalendar.getInstance(tz);
cal.setTime(madate);  
   
TimeZone tz2 = TimeZone.getTimeZone("Europe/Paris" );
cal.setTimeZone(tz2);
[/java]
 
Le problème de ce code est qu'il considère ma date (fuseau paris) et la met au fuseau GMT puis lorsque je met le fuseau de paris, me donne la date de départ (logique)
Je n'arrive pas à lui dire que ma date passée en paramètre est dans le fuseau GMT.
 
Si quelqu'un peut m'aider,merci.
 
deck10

Message cité 1 fois
Message édité par deck10 le 08-01-2008 à 15:14:30
Reply

Marsh Posté le 08-01-2008 à 15:13:26   

Reply

Marsh Posté le 08-01-2008 à 17:47:48    

deck10 a écrit :

Bonjour,
j'ai un petit problème concernant la convertion d'une date en java.
 
Je recois une date au fuseau GMT et je veux la mettre au fuseau horaire de paris mais je n'y arrive pas.  :(  
 
Voici mon code (qui ne répond pas ce que je veux)
[java]
TimeZone tz = TimeZone.getTimeZone("GMT" );
Calendar cal = GregorianCalendar.getInstance(tz);
cal.setTime(madate);  
   
TimeZone tz2 = TimeZone.getTimeZone("Europe/Paris" );
cal.setTimeZone(tz2);
[/java]
 
Le problème de ce code est qu'il considère ma date (fuseau paris) et la met au fuseau GMT puis lorsque je met le fuseau de paris, me donne la date de départ (logique)
Je n'arrive pas à lui dire que ma date passée en paramètre est dans le fuseau GMT.
 
Si quelqu'un peut m'aider,merci.
 
deck10


 
Le code suivant marche chez moi.
 

Code :
  1. TimeZone tz2 = TimeZone.getTimeZone("GMT+1" ); //Fuseau horaire de Paris.
  2. SimpleDateFormat sdf = new SimpleDateFormat(); //Crée un nouveau format de date.
  3. sdf.setTimeZone(tz2); //Configure le nouveau format comme appartennant au fuseau horaire de Paris.
  4. System.out.println(sdf.format(madateGMT)); //convertit et affiche selon le format.


Message édité par plzhelp le 08-01-2008 à 17:49:47

---------------
...
Reply

Marsh Posté le 09-01-2008 à 10:05:23    

bonjour,
merci de ton aide.
Je viens de le tester mais ca ne marche pas.
Si maDateGMT est égale à 01/02/2008 10:52:32,ton code m'affiche toujours la même date au lieu de 11:52:32. :(
VOus ne savez pas d'où ca vient?


Message édité par deck10 le 09-01-2008 à 10:28:13
Reply

Marsh Posté le 09-01-2008 à 15:52:20    

tu peux mettre tout le code java que tu as testé?
merci

Reply

Marsh Posté le 15-01-2008 à 10:06:33    

deck10 a écrit :

tu peux mettre tout le code java que tu as testé?
merci


 

Code :
  1. /** Je choppe la date actuelle en GMT (je vis en angleterre donc l'heure de mon PC est en GMT, change de fuseau horaire pour tester chez toi) **/
  2. Calendar cal1 = GregorianCalendar.getInstance();
  3. Date madateGMT = cal1.getTime();
  4. System.out.println(madateGMT);
  5. /** Conversion **/
  6. TimeZone tz2 = TimeZone.getTimeZone("GMT+1" ); //Fuseau horaire de Paris.  
  7. SimpleDateFormat sdf = new SimpleDateFormat(); //Crée un nouveau format de date.  
  8. sdf.setTimeZone(tz2); //Configure le nouveau format comme appartennant au fuseau horaire de Paris.  
  9. System.out.println(sdf.format(madateGMT)); //convertit et affiche selon le format.


 
Voilà le code entier, mais j'ai l'impression que si ca marche pas chez toi c'est parce qu'à la base la date que tu entres (madateGMT) est en fait une date GMT+1 donc elle n'est pas changée via la conversion. Regarde la valeur de l'offset pour en etre sur.


Message édité par plzhelp le 15-01-2008 à 10:10:40

---------------
...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed