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

时间:2016-04-23 14:36:59

标签: java android

我在我的设备上花时间,它在GMT中返回时间,并且我将其转换为本地。

我得到的时间是例如:23:00,当切换到Locale时,它返回阿拉伯数字,当我从JSON中抽出时间时,它不会将其切换为阿拉伯语。

代码:

brew update && brew install mono

我尝试了以下内容,但没有成功:

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

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

1 个答案:

答案 0 :(得分:3)

SimpleDataFormat有一个接受Locale的构造函数。默认情况下,使用设备区域设置,从而为您提供阿拉伯数字。

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