Java 教程是为 JDK 8 编写的。本页中描述的示例和实践未利用在后续版本中引入的改进。
SimpleDateFormat 类的 format 方法返回由数字和符号组成的 String。例如,在 String “Friday, April 10, 2009”中,符号为“Friday”和“April”。如果封装在 SimpleDateFormat 中的符号不符合你的需要,你可以使用 DateFormatSymbols 更改它们。你可以更改代表月份,星期几和时区等名称的符号。下表列出了允许你修改符号的 DateFormatSymbols 方法:
| Setter 方法 | 方法修改的符号示例 |
|---|---|
setAmPmStrings |
PM |
setEras |
AD |
setMonths |
December |
setShortMonths |
Dec |
setShortWeekdays |
Tue |
setWeekdays |
Tuesday |
setZoneStrings |
PST |
以下示例调用 setShortWeekdays 将一周中星期的短名称从小写字符更改为大写字符。此示例的完整源代码位于 DateFormatSymbolsDemo 中。setShortWeekdays 的数组参数中的第一个元素是空 String。因此,数组是基于一的而不是基于零的。SimpleDateFormat 构造函数接受修改后的 DateFormatSymbols 对象作为参数。这是源代码:
Date today;
String result;
SimpleDateFormat formatter;
DateFormatSymbols symbols;
String[] defaultDays;
String[] modifiedDays;
symbols = new DateFormatSymbols( new Locale("en", "US"));
defaultDays = symbols.getShortWeekdays();
for (int i = 0; i < defaultDays.length; i++) {
System.out.print(defaultDays[i] + " ");
}
System.out.println();
String[] capitalDays = {
"", "SUN", "MON",
"TUE", "WED", "THU",
"FRI", "SAT"
};
symbols.setShortWeekdays(capitalDays);
modifiedDays = symbols.getShortWeekdays();
for (int i = 0; i < modifiedDays.length; i++) {
System.out.print(modifiedDays[i] + " ");
}
System.out.println();
System.out.println();
formatter = new SimpleDateFormat("E", symbols);
today = new Date();
result = formatter.format(today);
System.out.println("Today's day of the week: " + result);
上面的代码生成了这个输出:
Sun Mon Tue Wed Thu Fri Sat SUN MON TUE WED THU FRI SAT Today's day of the week: MON