文档

Java™教程
隐藏目录
更改日期格式符号
路径:国际化
课程:格式化
章节:日期和时间

更改日期格式符号


版本说明: 这个日期和时间部分使用了java.util包中的日期和时间API。JDK 8版本引入了java.time API,提供了一个全面的日期和时间模型,相比java.util类有很大的改进。java.time API的详细信息可以参考日期时间教程。特别感兴趣的话,可以参考旧日期时间代码页面。

SimpleDateFormat类的format方法返回由数字和符号组成的String。例如,在字符串"Friday, April 10, 2009"中,符号是"Friday"和"April"。如果SimpleDateFormat中的符号不符合你的需求,你可以使用DateFormatSymbols来改变它们。你可以修改代表月份、星期几和时区等的符号。以下表格列出了允许你修改符号的DateFormatSymbols方法:

DateFormatSymbol方法
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 

今天是星期几: 星期一

上一页: 自定义格式
下一页: 消息