此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 今天是星期几: 星期一