我遇到了问题,我需要通用功能来分别在任何区域设置中显示日期和时间。但是,如果不检查calendar.getLocale()
此函数将在美国语言环境中提供日期
static public String getDateFromCalendar(Calendar cal) {
return String.format("%tD", cal);
}
但如果Locale是俄语,我必须使用istead this:String.format("%td。%tm。%tY",cal); 我不想对每个可能的语言环境使用条件操作。 请帮助找到更简单的方法。
答案 0 :(得分:0)
假设您的意思是Java,我建议您考虑课程java.text.DateFormat
。背景是每个国家/地区都有自己的典型日期时间格式。例如:
public static String getDateFromCalendar(Calendar cal) {
// maybe get user-locale via ThreadLocal or via second method parameter
Locale locale = new Locale("ru", "Ru");
DateFormat dateFormat =
DateFormat.getDateInstance(DateFormat.MEDIUM, locale);
return dateFormat.format(cal.getTime());
}
您可以通过在SHORT,MEDIUM,LONG或FULL之间进行选择来调整格式样式。对于MEDIUM,输出为:05.04.2014
将其与Locale.US
的输出进行比较,产生:Apr 5, 2014
。