Java.util.Calendar类

java.util.Calendar.getDisplayName() 方法返回给定样式的日历字段值的字符串表示形式,并且语言环境。如果没有适用的字符串表示形式,则返回 null。

例如,如果此日历是 GregorianCalendar 并且其日期是 2005-01-01,则 MONTH 字段的字符串表示形式将是英语区域设置中长样式的"January"或"Jan" "以简短的风格。但是,DAY_OF_MONTH 字段没有可用的字符串表示形式,并且此方法将返回 null。

语法

public String getDisplayName(int field,
                             int style,
                             Locale locale)

参数

field 指定返回字符串表示形式的日历字段。
style 指定应用于字符串表示的样式; SHORT_FORMAT (SHORT)、SHORT_STANDALONE、LONG_FORMAT (LONG)、LONG_STANDALONE、NARROW_FORMAT 或 NARROW_STANDALONE 之一。
区域设置 指定字符串表示形式的区域设置(区域设置指定的任何日历类型都将被忽略)。

返回值

返回字符串表示形式给定样式中给定字段的值,如果没有适用的字符串表示形式,则返回 null。

Exception

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

示例:

在下面的示例中,java.util.Calendar.getDisplayName() 方法用于获取日历字段的字符串表示形式指定样式和区域设置中的值。

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");

    //获取MONTH字段的字符串表示
    String info = Cal.getDisplayName(Calendar.MONTH, Calendar.LONG_FORMAT, loc);
    System.out.println("Month is: " + info);
  }
}

上述代码的输出将是:

The Calendar is: Wed Feb 25 00:00:00 UTC 2015
Month is: February