2012-08-05 10 views
5

Mam format daty w formacie - "dd MMM yyyy", podczas próby przeanalizowania "6 sierpnia 2012 r." Otrzymuję datę niedostępną dla java.text.ParseException.Uzyskiwanie dziwnego wyjątku Nie można odczytać daty: "6 sierpnia 2012"

Wszystko wygląda dobrze, czy widzisz problem?

+1

Czy możesz pokazać swój kod? Jedną z możliwych przyczyn jest to, że nie używasz zgodnych ustawień regionalnych (aby rozpoznać Aug jako miesiąc, potrzebujesz na przykład Locale.NGLISH). – assylias

+0

Czy "Aug" jest znaną rzeczą w twoim _current_ locale? –

Odpowiedz

7

trzeba wspomnieć Locale, jak również ...

Date date = new SimpleDateFormat("dd MMMM yyyy", Locale.ENGLISH).parse("6 Aug 2012"); 
1

użyć coś jak:

DateFormat sdf = new SimpleDateFormat("dd MMM yyyy", Locale.ENGLISH); 
Date date = sdf.parse("6 Aug 2012"); 
1

ten powinien pracować dla Ciebie. trzeba będzie zapewnić Locale

Date date = new SimpleDateFormat("dd MMM yyyy", Locale.ENGLISH).parse("6 Aug 2012"); 

Albo

Date date = new SimpleDateFormat("dd MMM yyyy", new Locale("EN")).parse("6 Aug 2012"); 
1

użyć funkcji split() z ogranicznik" "

String s = “6 Aug 2012”; 

String[] arr = s.split(" "); 

int day = Integer.parseInt(arr[0]); 
String month = arr[1]; 
int year = Integer.parseInt(arr[2]); 
+0

Proszę zobaczyć zmiany –

+0

Czy zaleca się analizowanie daty za pomocą String # split? – assylias

Powiązane problemy