将阿拉伯数字转换为英文字符串
问题描述:
我在设备中获取时间,它将以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);