如何使用设备区域设置语言格式化日期和时间?
How to get date and time formatted using the device locale language?
我正在尝试使用 Date() 获取日期和时间,并将其显示在 TextView 中。
是否可以使用设备区域设置对其进行格式化?
例如:
阿拉伯语区域设置 خميس 215
土耳其语言环境设备 Çar 214
英语语言环境设备周三214
如果要将 java.util.Date 转换为字符串,可以使用 SimpleDateFormat class。此 class 的第二个构造函数采用 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())。
希望能帮到你!
您还可以签出 DateUtils
class, which is available since API 3. It provides a set of convenient methods to format date time, localized by value set in configuration.locale
and returned by resources.getConfiguration()
,回退到 Locale.getDefault()
。
我正在尝试使用 Date() 获取日期和时间,并将其显示在 TextView 中。 是否可以使用设备区域设置对其进行格式化?
例如:
阿拉伯语区域设置 خميس 215
土耳其语言环境设备 Çar 214
英语语言环境设备周三214
如果要将 java.util.Date 转换为字符串,可以使用 SimpleDateFormat class。此 class 的第二个构造函数采用 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())。
希望能帮到你!
您还可以签出 DateUtils
class, which is available since API 3. It provides a set of convenient methods to format date time, localized by value set in configuration.locale
and returned by resources.getConfiguration()
,回退到 Locale.getDefault()
。