Java, heure locale
Résolu/Fermé
sebastien61
Messages postés
495
Date d'inscription
mardi 6 juin 2006
Statut
Membre
Dernière intervention
28 septembre 2010
-
15 sept. 2009 à 12:04
sebastien61 Messages postés 495 Date d'inscription mardi 6 juin 2006 Statut Membre Dernière intervention 28 septembre 2010 - 17 sept. 2009 à 21:41
sebastien61 Messages postés 495 Date d'inscription mardi 6 juin 2006 Statut Membre Dernière intervention 28 septembre 2010 - 17 sept. 2009 à 21:41
A voir également:
- Java, heure locale
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Ip locale - Guide
3 réponses
Utilisateur anonyme
17 sept. 2009 à 21:36
17 sept. 2009 à 21:36
Salut,
Finalement j'ai trouvé ceci:
Finalement j'ai trouvé ceci:
import java.text.*; import java.util.*; public class TestDateTimeZone { public static final SimpleDateFormat DATE_FORMATTER = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); public static void main(String[] args) throws Exception { String laDateBdd = "30/03/2008 02:00:00"; System.out.println("\nLa date Bdd :\n" + "\"" + laDateBdd + "\"\n"); String laDate = laDateBdd.substring(6,10) + "/" + laDateBdd.substring(3,5) + "/" + laDateBdd.substring(0,2) + " " + laDateBdd.substring(11); System.out.println("La date qui sera utilisee :\n" + laDate + "\n"); // Pour éviter les fuseaux horaires // Sinon le parsing est impossible TOUTE LA JOURNEE D'UN CHANGEMENT D'HEURE TimeZone utc = TimeZone.getTimeZone("UTC"); TimeZone.setDefault(utc); DATE_FORMATTER.setTimeZone(utc); // parsing de la date SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date parsedDate = sdf.parse(laDate); // formattage selon définition du projet String formattedDateString = DATE_FORMATTER.format(parsedDate); System.out.println("Avec la date BDD: " + laDateBdd); System.out.println("Nous utilisons : " + laDate); System.out.println("Et nous obtenons: " + formattedDateString); } }
Utilisateur anonyme
16 sept. 2009 à 00:59
16 sept. 2009 à 00:59
Salut,
Une solution:
Cordialement,
Dan
Une solution:
String laDateBdd = "30/03/2008 02:00:00"; System.out.println("\nLa date Bdd :\n" + "\"" + laDateBdd + "\"\n"); String laDate = laDateBdd.substring(6,10) + "/" + laDateBdd.substring(3,5) + "/" + laDateBdd.substring(0,2) + " " + laDateBdd.substring(11); System.out.println("La date qui sera utilisee :\n" + laDate + "\n"); try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date d = sdf.parse(laDate); System.out.println("La date obtenue:\n" + d.toString() + "\n"); sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); String maDate = sdf.format(d); System.out.println("La date que l'on veut:\n" + maDate + "\n"); } catch(Exception e) { System.err.println("Exception :"); e.printStackTrace(); }
Cordialement,
Dan
sebastien61
Messages postés
495
Date d'inscription
mardi 6 juin 2006
Statut
Membre
Dernière intervention
28 septembre 2010
59
16 sept. 2009 à 15:22
16 sept. 2009 à 15:22
Salut danimo, merci pour ta réponse.
J'ai essayé avec "30/03/2008 02:20:00", voici l'affichage :
Ce n'est pas un problème avec SimpleDateFormat, mais un problème de timezone (dû au décalage horaire).
Merci pour ton aide malgré tout !
D'autres suggestions ?
Merci d'avance
J'ai essayé avec "30/03/2008 02:20:00", voici l'affichage :
La date Bdd : "30/03/2008 02:20:00" La date qui sera utilisee : 2008/03/30 02:20:00 La date obtenue: Sun Mar 30 03:20:00 CEST 2008 La date que l'on veut: 30/03/2008 03:20:00
Ce n'est pas un problème avec SimpleDateFormat, mais un problème de timezone (dû au décalage horaire).
Merci pour ton aide malgré tout !
D'autres suggestions ?
Merci d'avance
Utilisateur anonyme
16 sept. 2009 à 21:59
16 sept. 2009 à 21:59
Salut,
Peux-tu me dire ce que tu obtiens avec ceci (qui ne changera pas le résultat, mais j'ai besoin de ce qui s'affiche dans la boîte de dialogue)
merci
Peux-tu me dire ce que tu obtiens avec ceci (qui ne changera pas le résultat, mais j'ai besoin de ce qui s'affiche dans la boîte de dialogue)
String info = "langue/pays = " + System.getProperty("user.language") + "/" + System.getProperty("user.country") + "\n"; javax.swing.JOptionPane.showMessageDialog(null,info);
merci
sebastien61
Messages postés
495
Date d'inscription
mardi 6 juin 2006
Statut
Membre
Dernière intervention
28 septembre 2010
59
16 sept. 2009 à 22:36
16 sept. 2009 à 22:36
J'obtiens une fenêtre dans laquelle il y a écrit : "langue/pays = fr/FR".
Merci pour ton aide
Merci pour ton aide
17 sept. 2009 à 21:41
Ensuite j'ai rajouté l'argument en lancement de l'appli : -Duser.timezone=GMT pour indiquer à la JVM qu'on est au méridien de greenwich.
C'est pas très joli mais ça fonctionne (parce qu'il n'y a pas de changement d'heure au méridien greenwich !
Merci quand même pour ton aide.