如何使用设备区域设置语言格式化日期和时间?

时间:2015-02-02 00:04:07

标签: android locale simpledateformat

我正在尝试使用Date()获取日期和时间,并将其显示在TextView中。 是否可以使用设备区域设置对其进行格式化?

例如:

阿拉伯语区域设备خميس2 \ 2 \ 2015

土耳其语语言环境设备Çar2\ 2 \ 2014

英语区域设备 Wed 2 \ 2 \ 2014

2 个答案:

答案 0 :(得分:5)

如果要将java.util.Date转换为字符串,可以使用SimpleDateFormat类。此类的第二个构造函数采用Locale类型的参数。使用Locale.getDefault(),您可以获取设备的默认语言环境,如果未设置或找到它将为en_Us提供语言环境。

这是一个小样本代码:

public static void main(String [] args){
    DateFormat df = new SimpleDateFormat("yyyy/MMM/dd EE", Locale.getDefault());
    Date today = Calendar.getInstance().getTime();
    String reportDate = df.format(today);
    System.out.println(reportDate);
}

您还可以设置Local exclipcity,例如Locale.CHINESE,或者您可以遍历当前设备上可用的本地数组(请参阅Locale.getAvailableLocales())。

希望我能帮到你!

答案 1 :(得分:1)

您还可以签出自{API 3}以来可用的DateUtils类。它提供了一组方便的日期时间格式,按configuration.locale中设置的值进行了本地化,并由{{3}返回},回退到Locale.getDefault()