2010-12-07 26 views
0

J'ai trouvé htc g7 ne peut pas supporter le symbole 'a' de SimpleDateFormat. Donc je ne peux pas analyser la date de manière opportune. Par exemple: le code: *htc g7 os2.2 ne peut pas supporter le symbole 'a' de SimpleDateFormat

SimpleDateFormat sdf2 = new SimpleDateFormat("MM/dd/yy hh:mm a"); 

    String d2 = "12/15/10 6:30 PM"; 

    try{ 
     sdf2.parse(d2); 
    } catch (ParseException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
} 
* 

test dans le simulateur, c'est ok. Mais exécuté sur mon téléphone, Il se produira le ParseException.

Mon téléphone HTC G7 OS2.2

Répondre

0

Peut-être un problème de localisation? Essayez de définir explicitement les paramètres régionaux dans votre code ci-dessus en utilisant ...

SimpleDateFormat sdf2 = new SimpleDateFormat("MM/dd/yy hh:mm a", Locale.US); 

... juste pour tester si cela fonctionne sur le téléphone.

De « Méfiez-vous de la localisation par défaut » http://developer.android.com/reference/java/util/Locale.html#default_locale

Une erreur courante consiste à utiliser implicitement les paramètres régionaux par défaut lors de la production de sortie destiné à être lisible par machine. Cela a tendance à fonctionner sur les périphériques de test du développeur mais échoue lorsqu'il est exécuté sur un périphérique dont l'utilisateur se trouve dans un environnement local moins conventionnel.