En essayant de transformer le format de date, j'obtiens une exception: date impossible à régler et je ne sais pas comment résoudre ce problème.Java: exception de date non modifiable
Je reçois une chaîne qui représente une date d'événement et souhaite afficher cette date dans un format différent dans l'interface graphique.
Ce que je tentais de faire est la suivante:
private String modifyDateLayout(String inputDate){
try {
//inputDate = "2010-01-04 01:32:27 UTC";
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z").parse(inputDate);
return new SimpleDateFormat("dd.MM.yyyy HH:mm:ss").format(date);
} catch (ParseException e) {
e.printStackTrace();
return "15.01.2010";
}
}
Quoi qu'il en soit la ligne
String modifiedDateString = originalDate.toString();
est factice. Je voudrais obtenir une chaîne de date dans le format suivant:
dd.MM.yyyy HH: mm: ss
et l'exemple de chaîne d'entrée est la suivante:
2010-01-04 01:32:27 UTC
Est-ce que quelqu'un sait comment convertir la date d'exemple (String) ci-dessus dans un format de chaîne dd.MM.yyyy HH: mm: ss?
Merci! Editer: J'ai corrigé le mauvais format de date d'entrée mais cela ne fonctionne toujours pas. Ci-dessus est la méthode collée et ci-dessous est l'image de l'écran de la session de débogage.
alt text http://img683.imageshack.us/img683/193/dateproblem.png
#update Je couru
String[] timezones = TimeZone.getAvailableIDs();
et il est UTC chaîne du tableau. C'est un problème étrange.
J'ai fait un sale hack qui fonctionne:
private String modifyDateLayout(String inputDate){
try {
inputDate = inputDate.replace(" UTC", "");
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(inputDate);
return new SimpleDateFormat("dd.MM.yyyy HH:mm:ss").format(date);
} catch (ParseException e) {
e.printStackTrace();
return "15.01.2010";
}
}
Mais je préférerais transformer l'entrée d'origine sans coupant le fuseau horaire.
Ce code est écrit pour le téléphone Android en utilisant JDK 1.6.
Je sais qu'il s'agit d'un thread depuis longtemps mais pour clarifier les doutes concernant l'exception d'analyse lorsque "UTC" est dans le format de la date. Le code est cassé dans Android. [Rapport de bogue Android] (http://code.google.com/p/android/issues/detail?id=14963) – Creniale