Android本地化:根据区域设置,我可以在几个月内显示出错我做错了什么?

时间:2011-09-20 15:03:41

标签: android calendar locale

这很简单,我希望下面这段代码可以显示Gennaio(1月意大利语),但它仍会显示1月份。即使我将设备区域设置为意大利。任何帮助将不胜感激。感谢,W

    Calendar calendar= Calendar.getInstance(Locale.ITALIAN);
    calendar.set(2011,0,1);     
button.setText((calendar.getTime().toString()));

1 个答案:

答案 0 :(得分:2)

你的结论是合乎逻辑的,但toString()通常在这种情况下肯定是一个实用函数,主要用于调试。

对于本地化日期,您需要使用DateFormatter,如下所示:

Calendar calendar=Calendar.getInstance();
 calendar.set(2011,0,1);
 String formatted=DateFormat.getLongDateFormat(this).format(calendar.getTime());
 button.setText(formatted);

此示例使用三种标准日期格式化程序之一,但您可以非常具体地了解格式,尤其是调用DateFormat.getInstance(context).getDateInstance,它允许您设置更多参数,包括语言环境。 这里有更多详细信息:http://developer.android.com/reference/java/text/DateFormat.html

我希望这就是你要找的东西。