2016-04-23 6 views
1

Ich bekomme die Zeit in meinem Gerät, es gibt die Zeit in GMT zurück, und ich wandle es in Lokal um.Arabische Zahlen auf Englisch in String umschalten

Die Zeit, die ich bekomme, ist zum Beispiel: 23:00, Beim Wechsel zu Locale gibt es in arabischen Zahlen zurück, wenn ich die Zeit von JSON nehme, wird es nicht auf Arabisch umgeschaltet.

Code:

private String GMTToLocal(String InputText){ 
    SimpleDateFormat inputFormat = new SimpleDateFormat 
      ("yyyy:M:dd kk:mm", Locale.US); 
    inputFormat.setTimeZone(TimeZone.getTimeZone("GMT")); 

    SimpleDateFormat outputFormat = 
      new SimpleDateFormat("kk:mm"); 
    // Adjust locale and zone appropriately 
    Date date = null; 
    try { 
     date = inputFormat.parse(InputText); 
    } catch (ParseException e) { 
     e.printStackTrace(); 
    } 
    return outputFormat.format(date); 
} 

habe ich versucht, die folgenden, aber hat nicht funktioniert:

String Tes2 = String.format(Locale.ENGLISH,Arabic_Letters_String); 

Das Problem kurz gesagt, ich brauche die Zeit, in der englischen Buchstaben/Zahlen, nicht auf Arabisch, Das passiert nur, wenn ich die Zeit von meinem Gerät bekomme, aber wenn ich es von JSON bekomme, nimmt es es als Englisch und gibt es als Englisch zurück, aber vom Gerät nimmt es es als Arabisch und gibt es als Wert 0 zurück (weil Simplydateformat Nimmt nur Englisch, denke ich).

Antwort

3

SimpleDataFormat hat einen Konstruktor, der eine Locale akzeptiert. Standardmäßig wird das Gebietsschema des Geräts verwendet, sodass Sie arabische Zahlen erhalten.

SimpleDateFormat outputFormat = new SimpleDateFormat("kk:mm", Locale.US); 
Verwandte Themen