2

如何在 android 中获取 EditText 提示的本地化日期格式?

yyyy-mm-dd(EN)
aaaa-mm-dd(SP)
aaaa-mm-jj(FR)
4

4 回答 4

1

您可以使用DateFormat.getDateFormat(Context),它执行以下操作:

返回一个DateFormat对象,该对象可以根据当前语言环境和用户的日期顺序首选项以短格式(例如 12/31/1999)格式化日期。

  --DateFormat文档

然后,将类型的对象传递给它Activityor Context

java.text.DateFormat formatter = android.text.format.DateFormat.getDateFormat(context);
于 2013-02-12T15:03:59.170 回答
1

来自SimpleDateFormat

SimpleDateFormat(String, Locale)

使用指定的非本地化模式以及指定区域设置的 DateFormatSymbols 和 Calendar 构造一个新的 SimpleDateFormat。

所以模式不应该改变

日期格式符号

封装本地化的日期时间格式数据,例如月份的名称、星期几的名称和时区数据。DateFormat 和 SimpleDateFormat 都使用 DateFormatSymbols 来封装这些信息。

唯一应该改变的是月份名称、tzdata 或星期名称(如果您使用过的话)。

获取本地化模式字符串使用

toLocalizedPattern()

http://developer.android.com/reference/java/text/SimpleDateFormat.html#toLocalizedPattern%28%29

于 2013-02-12T14:54:49.957 回答
0

SimpleDateFormat.applyLocalizedPattern(String template)打电话前先试一下SimpleDateFormat.toLocalizedPattern()

于 2013-02-12T15:42:05.540 回答
0

你可以这样做:

DateFormat dateFormat = android.text.format.DateFormat.getDateFormat(mContext);

String pattern = ((SimpleDateFormat) dateFormat).toLocalizedPattern();

editText.setHint(pattern);
于 2014-08-07T21:40:13.933 回答