我正在尝试使用课程SimpleFormattedDate
在我的Android
应用中获取自定义格式化日期,但我无法找到返回大写字母的模式。
这些是我的代码行:
Date today = new Date();
Locale loc = new Locale("it","IT");//Locale.ITALIAN
SimpleDateFormat formatter = new SimpleDateFormat("EEE, MMM d, ''yy", loc);
String output = formatter.format(today);
Toast.makeText(getActivity(), output,Toast.LENGTH_LONG).show();
但这是我得到的回报:
ven, giu 26, '15
但我想取而代之的是:
Ven, 26 Giu 2015
答案 0 :(得分:3)
首先你的格式化程序应该是:
SimpleDateFormat formatter = new SimpleDateFormat("E , d MMM yyyy",loc);
意大利语的capitalazion规则可能有所不同,如果您仍想更改它,一个选项是使用来自apache commons的wordutils,将de依赖项添加到您的gradle.build
编译' org.apache.commons:commons-lang3:3.4'
然后就这样做:
output=WordUtils.capitalize(output);
Toast.makeText(this, output,Toast.LENGTH_LONG).show();
答案 1 :(得分:1)
您可以通过设置它使用的 DateFormatSymbols 来更改 SimpleDateFormat 输出的字符串。官方教程包含this
的示例本教程中的示例,适用于短工作日:
String[] capitalDays = {
"", "SUN", "MON",
"TUE", "WED", "THU",
"FRI", "SAT"
};
symbols = new DateFormatSymbols( new Locale("en", "US"));
symbols.setShortWeekdays(capitalDays);
formatter = new SimpleDateFormat("E", symbols);
result = formatter.format(new Date());
System.out.println("Today's day of the week: " + result);