Durante il tentativo di trasformare il formato della data ottengo un'eccezione: data non analizzabile e non so come risolvere questo problema.Java: eccezione di data non sostituibile
Sto ricevendo una stringa che rappresenta una data di evento e vorrei visualizzare questa data in formato diverso nella GUI.
Quello che stavo cercando di fare è il seguente:
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";
}
}
In ogni caso la linea
String modifiedDateString = originalDate.toString();
è fittizio. Vorrei ottenere una stringa data nel seguente formato:
dd.MM.yyyy HH: mm: ss
e l'esempio di ingresso stringa è il seguente:
2010-01-04 01:32:27 UTC
Qualcuno sa come convertire la data di esempio (String) sopra in un formato stringa dd.MM.yyyy HH: mm: ss?
Grazie!
Modifica: Ho corretto il formato della data di input errato, ma ancora non funziona. Sopra è il metodo incollato e sotto è l'immagine dello schermo dalla sessione di debug.
alt text http://img683.imageshack.us/img683/193/dateproblem.png
#update ho corse
String[] timezones = TimeZone.getAvailableIDs();
e c'è UTC stringa nella matrice. È un problema strano
ho fatto un hack sporco che funziona:
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";
}
}
Ma ancora io preferirei di trasformare l'ingresso originale senza tagliare fuso orario di distanza.
Questo codice è scritto per telefono Android con JDK 1.6.
So che questo è un thread molto tempo fa ma per chiarire i dubbi relativi all'eccezione dell'analisi quando "UTC" è nel formato data. Il codice è rotto in Android. [Segnalazione bug Android] (http://code.google.com/p/android/issues/detail?id=14963) – Creniale