我有一个问题,我需要通用函数来分别显示任何语言环境中的日期和时间。但是如果不检查calendar.getLocale()
,我就找不到这样做的方法
此函数将给出美国区域设置中的日期
static public String getDateFromCalendar(Calendar cal) {
return String.format("%tD", cal);
}
但是如果语言环境是俄语,我必须使用 istead 这个:String.format("%td.%tm.%tY",cal);我不想对每个可能的区域设置使用条件操作。请帮忙找到
假设你的意思是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());
}
您可以通过在短、中、长或完整之间进行选择来调整格式样式。对于 MEDIUM,输出为: 05.04.2014
将其与输出进行比较 Locale.US
产生:Apr 5, 2014
。