通用功能,可以分别在任何区域设置中显示日期和时间

时间:2014-04-05 10:39:45

标签: android date time calendar locale

我遇到了问题,我需要通用功能来分别在任何区域设置中显示日期和时间。但是,如果不检查calendar.getLocale()

,我就无法找到方法

此函数将在美国语言环境中提供日期

static public String getDateFromCalendar(Calendar cal) {

        return String.format("%tD", cal);
    }

但如果Locale是俄语,我必须使用istead this:String.format("%td。%tm。%tY",cal); 我不想对每个可能的语言环境使用条件操作。 请帮助找到更简单的方法。

1 个答案:

答案 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

相关问题