Java.util.Calendar类

java.util.Calendar.getDisplayNames() 方法返回一个包含给定样式的日历字段的所有名称的 Map和区域设置及其相应的字段值。例如,如果此日历是 GregorianCalendar,则返回的映射将包含"Jan"到 JANUARY、"Feb"到 FEBRUARY 等(在英语区域设置中采用简短样式)。

语法

public Map<String,Integer> getDisplayNames(int field,
                                           int style,
                                           Locale locale)

参数

字段 指定返回显示名称的日历字段。
style 指定应用于字符串表示的样式; SHORT_FORMAT (SHORT)、SHORT_STANDALONE、LONG_FORMAT (LONG)、LONG_STANDALONE、NARROW_FORMAT 或 NARROW_STANDALONE 之一。
区域设置 指定显示名称的区域设置。

返回值

返回包含样式和区域设置及其字段的所有显示名称的map值,如果没有为字段定义显示名称,则为 null。

异常

  • 如果区域设置为 null,则抛出 NullPointerException
  • 如果字段或样式无效,或者此日历不宽松并且任何日历字段具有无效值,则抛出 IllegalArgumentException

示例:

在下面的示例中,java.util.Calendar.getDisplayNames() 方法返回一个包含给定样式和区域设置的日历字段的所有名称的 Map及其相应的字段值。

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //创建指定日期的Calendar对象
    Calendar Cal = new GregorianCalendar(2015, 1, 25);

    //打印日历
    System.out.println("The Calendar is: " + Cal.getTime());

    //创建一个新的语言环境
    Locale loc = new Locale("EN", "US");

    //获取包含 DAY_OF_WEEK 字段的所有map的 Map
    Map<String, Integer> MyMap =  
            Cal.getDisplayNames(Calendar.DAY_OF_WEEK, Calendar.SHORT_FORMAT, loc);
    System.out.println("MyMap Contains: " + MyMap);
  }
}

上述代码的输出将是:

The Calendar is: Wed Feb 25 00:00:00 UTC 2015
MyMap Contains: {Thu=5, Tue=3, Wed=4, Sat=7, Fri=6, Sun=1, Mon=2}