Aller au contenu

[Timestamp et Date] Formater une date a partir d'un Timestamp


The_Moye

Recommended Posts

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

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

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...