用于在任何区域设置中单独显示日期和时间的通用函数



我有一个问题,我需要通用函数来分别显示任何语言环境中的日期和时间。但是如果不检查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

相关内容

  • 没有找到相关文章

最新更新