将阿拉伯数字转换为英文字符串

问题描述:

我在设备中获取时间,它将以GMT格式返回时间,并将其转换为本地。将阿拉伯数字转换为英文字符串

我得到的时间是例如:23:00,当切换到区域设置它返回阿拉伯数字,当我从JSON的时间,它不会切换到阿拉伯语。

代码:

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); 
} 

我尝试以下,但没有奏效:在短

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

的问题,我需要在英文字母/数字,而不是在阿拉伯语的时候,这只发生在我从我的设备获取时间时,但如果我从JSON获取它,它将其作为英语并将其作为英语返回,但从设备中,它将其作为阿拉伯语并将其作为0值返回(因为Simpledateformat只有英文,我猜)。

SimpleDataFormat有一个构造函数接受Locale。默认情况下使用设备区域设置,因此会给你阿拉伯数字。

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