Tarih biçimini değiştirmeye çalışırken istisna yapıyorum: ayrılmamış tarih ve bu sorunun nasıl giderileceğini bilmiyorum.Java: ayrıştırılabilir tarih istisnası
Bir olay tarihini temsil eden ve bu tarihi GUI'de farklı biçimde görüntülemek istediğiniz bir dize alıyorum.
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";
}
}
String modifiedDateString = originalDate.toString();
kukla olduğunu Neyse hattı:
Ne yapmaya çalışıyordum şudur.
dd.MM.yyyy SS:: dd: Aşağıdaki biçimde bir tarih dizesi almak istiyorum
: ss
ve giriş Dize örneği şudur 2010-01-04 01:32:27 UTC
Yukarıdaki örnek dizinin (String) String formatına nasıl dönüştürüleceğini bilen var mı dd.MM.yyyy HH: mm: ss?
Teşekkür ederiz!
Düzelt: Yanlış giriş tarihi biçimini düzelttim ama yine de çalışmıyor. Yukarıda yapıştırılan yöntem ve aşağıda hata ayıklama oturumunun ekran görüntüsüdür.
alt text http://img683.imageshack.us/img683/193/dateproblem.png
#update Ben
String[] timezones = TimeZone.getAvailableIDs();
koştu ve UTC dize dizide yoktur. Bu garip bir problem.
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";
}
}
Ama yine de uzak dilimini kesilmeden orijinal girdi dönüştürmek için tercih ediyorum:
Ben çalışan bir kirli kesmek yaptı.Bu kod, JDK 1.6 kullanan Android telefon için yazılmıştır.
Bunun çok eski bir iş parçacığı olduğunu biliyorum, ancak "UTC" tarih biçiminde olduğunda ayrıştırma istisnasıyla ilgili şüpheleri netleştirmek için. Kod Android'de bozuldu. [Android bug report] (http://code.google.com/p/android/issues/detail?id=14963) – Creniale