如何更改指定语言环境的日期格式符号?
package org.nhooo.example.text;
import java.text.DateFormatSymbols;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public class ChangeDateFormatSymbols {
public static void main(String[] args) {
Locale id = new Locale("in", "ID");
String pattern = "EEEE, dd MMM yyyy";
Date today = new Date();
// 获取由给定模式指定的格式化日期
// 印度尼西亚语言环境对默认日期格式没有更改
// 在这里应用。
SimpleDateFormat sdf = new SimpleDateFormat(pattern, id);
String before = sdf.format(today);
System.out.println("Before format change: " + before);
// 为印度尼西亚语言环境创建一个DateFormatSymbols对象。
DateFormatSymbols dfs = new DateFormatSymbols(id);
// 获取工作日默认格式的String数组。
String[] days = dfs.getWeekdays();
String newDays[] = new String[days.length];
for (int i = 0; i < days.length; i++) {
// 对于每一天,将toUpperCase()方法应用于
// 大写。
newDays[i] = days[i].toUpperCase();
}
// 设置工作日的字符串数组。
dfs.setWeekdays(newDays);
// 获取短个月的默认格式的String数组。
String[] shortMonths = dfs.getShortMonths();
String months[] = new String[shortMonths.length];
for (int j = 0; j < shortMonths.length; j++) {
// 对于每个短月,请应用toUpperCase()方法
// 大写。
months[j] = shortMonths[j].toUpperCase();
}
// 设置短月份的String数组。
dfs.setShortMonths(months);
// 通过给定的模式创建SimpleDateFormat对象,然后
// 符号,然后将日期对象格式化为String。
sdf = new SimpleDateFormat(pattern, dfs);
String after = sdf.format(today);
System.out.println("After change format : " + after);
}
}这是我们程序的输出:
Before format change: Kamis, 12 Apr 2018 After change format : KAMIS, 12 APR 2018