The_Moye Posté(e) 3 octobre 2009 Share Posté(e) 3 octobre 2009 Bonjour bonjour ! Ça fait quelques heures que je me bat avec quelque chose qui semble tout bête : formater une Date pour quelle ressemble à ce que je souhaite. J'aimerais obtenir une Date de la forme : Vendredi 2 Octobre 2009 Et tout cela a partir du Timestamp retourne par ma requête SQLite. Timestamp MonTemps = new Timestamp(Long.parseLong(TmpDate)); Timestamp est donc un long (1250261353135) La methode "tostring" me retourne : 2009-08-14 16:49:13.135 Et la methode "togmtstring" : 14 Aug 2009 14:49:13 GMT J'aimerais avoir d'une part le nom du mois en Français, en entier, mais aussi celui du jour de la semaine. Pour ça j'ai tenté à plusieurs reprises de créer des SimpleDateFormat ou des DateFormat. J'ai tenté d'utiliser la classe Local pour les retourner en français (Locale.FRANCE => "fr_FR"). Mais je n'ai pas du comprendre le fonctionnement, ça ne retourne jamais ce que je veux ^^ Du coup, voici pèle-mêle mes trois derniers essais et ce qu'ils retournent : SimpleDateFormat dateFormat = new SimpleDateFormat("EEEEE d MMMMM yyyy"); DateFormat df = DateFormat.getDateInstance(DateFormat.FULL, Locale.FRANCE); df = DateFormat.getTimeInstance(DateFormat.FULL); System.out.println("Date formate avec df : "+df.format(MonTemps)); System.out.println("Date formate avec getDate : "+DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL,Locale.FRANCE).format(MonTemps)); System.out.println("Date une fois formate : "+dateFormat.format(MonTemps)); Retournent : Date formate avec df : 14:39:12 GMT+02:00 Date formate avec getDate : 4, 2009 9 30 14:39:12 GMT+02:00 Date une fois formate : 4 30 9 2009 Bref, une petite explication serait la bienvenue. Merci d'avance :P Lien vers le commentaire Partager sur d’autres sites More sharing options...
Max_well Posté(e) 5 octobre 2009 Share Posté(e) 5 octobre 2009 N'utilise pas l'emulateur pour tes tests :D Pour ce que j'en ai vu sur la 1.1 et la 1.5, l'emulateur n'a pas les informations des locales non US. Du coup, au lieu de te mettre "septembre" il te met "9". Ce que tu peux faire de mieux, c'est tester l'affichage en US, et d'extrapoler à partir de là (ou de tester directement sur le téléphone si tu en a un) Lien vers le commentaire Partager sur d’autres sites More sharing options...
The_Moye Posté(e) 5 octobre 2009 Auteur Share Posté(e) 5 octobre 2009 D'ac ! Pour contourner ce problème, j'ai créer un ArrayList contenant le nom des mois / jours en Français, et je vais piocher dedans par rapport au chiffre retourné par la date. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.