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

标签 android locale simpledateformat

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

例如:

阿拉伯语语言环境设备 خميس 2\2\2015

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

英语语言环境设备 Wed 2\2\2014

最佳答案

如果要将 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())。

希望能帮到你!

关于android - 如何使用设备区域设置语言格式化日期和时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28269428/

相关文章:

iphone - 我想将我的 HTML 网站转换成 iPhone 或 Droid 兼容网站。我怎样才能做到这一点?

Android Spinner - 自定义背景

Android无法在 Canvas 上绘制透明矩形

ruby-on-rails - 如何使用 I18n.localize 的语言环境结构?

c++ - 为什么 wstring_convert 抛出 range_error?

java - SimpleDateFormat 没有正确解析日期

安卓 4.3 : How can I check if user has lock enabled?

c++ - 为什么 nl_langinfo(CODESET) 与语言环境字符映射不同?

java - SimpleDateFormat 返回不同的结果

格式为 "yyyy-mm-dd HH:mm:ss"的 Java 字符串到日期对象