我一直在研究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)格式。 但请参阅我在手机上选择的日期格式。我怎样才能得到确切的格式?
答案 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
按预期工作。它返回三种可能的格式之一:
MM/DD/YYYY
DD/MM/YYYY
YYYY/MM/DD
我不确定您如何设置“星期六,2011年12月31日”格式,但据我所知,Android只允许设置三种格式中的一种(设置 - >日期和时间 - >选择日期格式。)
答案 2 :(得分:2)
试试这个
Date inDate = inFormat.parse(in);
DateFormat outFormat = android.text.format.DateFormat.getDateFormat(context);
out=outFormat.format(inDate);