ня SimpleDateFormat працуе

Я рву на сабе валасы ад маёй галавы на гэтым. Спроба разабраць гэты радок у аб'ект Date:

Fri, 28 Oct 2011 07:43:18 GMT

Але гэта не будзе працаваць. Замест гэтага я атрымліваю ParseException:

10-28 15:50:12.730: WARN/System.err(31232): java.text.ParseException: Unparseable date: Fri, 28 Oct 2011 07:43:18 GMT

Код, які я выкарыстоўваю наступны (і я паспрабаваў некалькі налад у радок фарматавання без толку):

SimpleDateFormat dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:m:s zzz");

Я ведаю Javas Дата і час заняткі пакідае шмат жадаць, але гэта адзін забівае мяне ...

2

2 адказы

ваш фармат выглядае так (двайны мм і двайны сс):

new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz");
6
дададзена
Гэта не памылка, адзін ці два (нават тры) «м» або «s» робіць трохі справы. З дакументацыі: «Тэкст: калі лічыльнік роўны 4 або больш, выкарыстоўвайце поўную форму, у адваротным выпадку выкарыстоўваць кароткую або скарочаную форму, калі такі існуе.»
дададзена аўтар sebrock, крыніца
+1 за ўказанне тонкай памылкі, і размясціць свой першы адказ (гэта таксама дапамагае тое, што гэта правільна ;-)
дададзена аўтар bakoyaro, крыніца

Выкарыстоўвайце Locale.US. Паспрабуйце гэта замест

SimpleDateFormat dateFormat = new SimpleDateFormat("EEE dd MMM yyyy HH:m:s zzz", Locale.US);
Date date = dateformat.parse("Oct 28 09:53:19 2011"); 
2
дададзена
Ну, гэта само па сабе не зрабіць трук. Аднак таксама відавочна усталёўваючы гадзінны пояс з setTimeZone() зрабіў працу. Так гэта было спалучэнне. Я даю гэта адно да вас ўсё роўна, пачуццё шчодрым.
дададзена аўтар sebrock, крыніца