2016-11-03 2 views
0

J'essaye d'analyser une date dans une autre langue. donc au lieu de Lundi 31 Octobre ce serait Lundi 31 Octobre (pour le français). J'utilise la classe DateFormat comme suggéré par le official Android documentation. Donc, fondamentalement, c'est l'extrait de code que je utilise:L'analyse d'une date dans une autre langue ne fonctionne pas

dateFormat = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRANCE); 
dateFormat.parse(myCalendar.getTime().toString()) 

Mais il est de lancer une exception Parsing quand je l'exécuter.

aussi myCalendar.getTime().toString() cède Mon Oct 31 12:27:08 GMT+03:00 2016

Ce que je pense est juste que je ne comprends pas pourquoi dateFormat ne peut pas analyser correctement.

+0

Pouvez-vous poster comment vous avez créé votre modèle pour l'objet dateFormat? – Alex

Répondre

1

Donc, votre problème est que vous essayez d'analyser une date, mais vous donnez le mauvais format pour le formateur. Au lieu de convertir la date du calendrier en chaîne puis de l'analyser, vous pouvez utiliser la méthode dateFormat.format.

Calendar myCalendar = Calendar.getInstance(); 
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL, Locale.FRANCE); 
Log.d("Time",dateFormat.format(myCalendar.getTime())); 

La sortie serait

jeudi 3 novembre 2016

Vous pouvez jouer avec le format de changer le style ou à l'aide SimpleDateFormat et définir le format de sortie qui convient à vos besoins.

0

Vous pouvez essayer quelque chose comme:

SimpleDateFormat dateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zZ yyyy", Locale.FRANCE); 
dateFormat.parse(myCalendar.getTime().toString());