2016-05-04 15 views
0

ich diese Zeichenfolge analysieren möchte: Do 1. JANUAR 00.00.58 CET 1970Android Simple Parse-Fehler

Ich benutze dieses Muster: EEE MMM dd hh: mm: ss z yyyy

Aber ich erhielt diese Ausnahme: java.text.ParseException: unparseable Datum: "Do 1. Januar 00.00.58 CET 1970" (bei Offset 20)

Stacktrace:

java.text.ParseException: unparseable Datum: "Do Jan 01 00:01:18 CET 1970" (bei Offset 20) W/System.err: at java.text.DateFormat.parse (DateFormat.java:571)

System env: android Studio 2.0, compileSdkVersion 23, buildToolsVersion "23.0.3" Gerät: HTC One M7, android 5.0.2

+0

haben Sie dieses versucht http://stackoverflow.com/a/21793454/1318946 –

Antwort

2

Sie sollten einen Testfall erstellen und das Verhalten demonstrieren. Ich habe es für Sie:

import java.text.ParseException; 
import java.text.SimpleDateFormat; 
import java.util.Date; 
import java.util.Locale; 
import org.junit.Test; 

public class DateParseTest { 

@Test 
public void testDateFormat() { 
    SimpleDateFormat dateFormat = new SimpleDateFormat("EEE MMM dd hh:mm:ss z yyyy", Locale.US); 
    try { 
     Date date = dateFormat.parse("Thu Jan 01 00:00:58 CET 1970"); 
     System.out.println("parsed date:" + date); 
    } catch (ParseException ex) { 
     ex.printStackTrace(); 
    } 
    }  
} 

Verwenden Sie eine explizite locale Einstellung Locale.US. In Ihrem Fall ist Ungarisch das Standard-Gebietsschema und Sie müssen eine Datumszeichenfolge im ungarischen Format analysieren.

SimpleDateFormat dateFormat = new SimpleDateFormat("EEE MMM dd hh:mm:ss z yyyy", new Locale("HU")); 
String dateString = "P máj. 01 01:00:58 CET 1970"; 
Date date = dateFormatHu.parse(dateString); 
+0

Ich habe parseexception wie in meiner Frage – just

+0

Veröffentlichen Sie Ihre Stacktrace und Ihre Systemumgebung. – JanPl

+0

aktualisiert meine Frage – just