如何在Android中获取用户选择的日期格式?

时间:2011-08-08 11:36:10

标签: android datetime format locale

我一直在研究Android手机用户选择的日期格式问题。 我在stackoverlow上经历了几乎所有的问题和答案,并没有得到完美的答案。 例如:- 我在手机中选择了dateformat是“星期六,2011年12月31日” 但是当我在stackoverflow上使用基于问题的答案时: -

DateFormat df = android.text.format.DateFormat.getDateFormat(context.getApplicationContext());
tv.setText(df.format(date));

以上代码返回06/08/2011(mm / dd / yyyy)格式。 但请参阅我在手机上选择的日期格式。我怎样才能得到确切的格式?

3 个答案:

答案 0 :(得分:31)

在我正在开发的应用程序中,我使用以下内容,我相信它会按照您的要求进行操作

final String format = Settings.System.getString(getContentResolver(), Settings.System.DATE_FORMAT);
if (TextUtils.isEmpty(format)) {
  dateFormat = android.text.format.DateFormat.getMediumDateFormat(getApplicationContext());
} else {
  dateFormat = new SimpleDateFormat(format);
}

答案 1 :(得分:4)

DateFormat.getDateFormat按预期工作。它返回三种可能的格式之一:

  1. MM/DD/YYYY
  2. DD/MM/YYYY
  3. YYYY/MM/DD
  4. 我不确定您如何设置“星期六,2011年12月31日”格式,但据我所知,Android只允许设置三种格式中的一种(设置 - >日期和时间 - >选择日期格式。)

    enter image description here

答案 2 :(得分:2)

试试这个

Date inDate = inFormat.parse(in);
DateFormat outFormat = android.text.format.DateFormat.getDateFormat(context);
out=outFormat.format(inDate);