此Java教程针对JDK 8编写。本页面中描述的示例和实践不利用后续版本中引入的改进,并可能使用不再可用的技术。
有关Java SE 9及其后续版本中更新的语言特性的摘要,请参阅Java语言更改。
有关所有JDK版本的新功能、增强功能以及已删除或弃用选项的信息,请参阅JDK发行说明。
SimpleDateFormat类的format方法返回由数字和符号组成的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中。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("今天是星期几: " + result);
上述代码生成以下输出:
星期日 星期一 星期二 星期三 星期四 星期五 星期六 SUN MON TUE WED THU FRI SAT 今天是星期几: 星期一