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