更改日期格式符号
Version note:
SimpleDateFormat
类的format
方法返回由数字和符号组成的String
。例如,在String
“ 2009 年 4 月 10 日,星期五”中,符号为“星期五”和“ 4 月”。如果封装在SimpleDateFormat
中的符号不符合您的需要,则可以使用DateFormatSymbols进行更改。您可以更改代表月份,星期几和timezone等名称的符号。下表列出了允许您修改符号的DateFormatSymbols
方法:
DateFormatSymbol
方法*
Setter Method | 方法修改的符号示例 |
---|---|
setAmPmStrings | PM |
setEras | AD |
setMonths | December |
setShortMonths | Dec |
setShortWeekdays | Tue |
setWeekdays | Tuesday |
setZoneStrings | PST |
下面的示例调用setShortWeekdays
将星期几的缩写名称从小写字母更改为大写字母。此示例的完整源代码在DateFormatSymbolsDemo中。 setShortWeekdays
的数组参数中的第一个元素是空String
。因此,该数组是基于 1 的,而不是基于 0 的。 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