Trochę się tu zagubiłem, myślę, że robię wszystko ok i nadal nie działa (PaseException

    String time = "Fri Apr 15 14:29:57 IDT 2011";
    SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy");
    sdf.parse(time);

Pomoc wysoko ceniona!

2
Roman 12 lipiec 2011, 21:49
Zarówno Jigar, jak i ja i John udzieliliśmy poprawnej odpowiedzi, jednak każdemu, kto będzie to czytał w przyszłości, byłoby pomocne, aby dowiedzieć się, jakie są domyślne ustawienia regionalne. Czy możesz zmienić pytanie, aby podać domyślne ustawienia regionalne. Jeden wiersz kodu zwróci domyślne ustawienia regionalne :: System.out.println(Locale.getDefault().toString());
 – 
Chris
12 lipiec 2011, 22:04

3 odpowiedzi

Najlepsza odpowiedź
String time = "Fri Apr 15 14:29:57 IDT 2011";
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy");
System.out.println(sdf.parse(time));

U mnie działa dobrze.!

Może możesz spróbować

 SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy",Locale.ENGLISH);
6
jmj 12 lipiec 2011, 21:54

Twój domyślny język nie jest zgodny z tym wzorcem daty.

Próbować:

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy", Locale.ENGLISH);

(Potwierdzam, że działa)

3
Chris 12 lipiec 2011, 21:56

Dodaj lokalizację jako drugi parametr konstruktora:

    String time = "Fri Apr 15 14:29:57 IDT 2011";
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy", Locale.ENGLISH);
System.out.println(sdf.parse(time));
1
John 12 lipiec 2011, 21:57