如何在 android 中获取 EditText 提示的本地化日期格式?
yyyy-mm-dd(EN)
aaaa-mm-dd(SP)
aaaa-mm-jj(FR)
如何在 android 中获取 EditText 提示的本地化日期格式?
yyyy-mm-dd(EN)
aaaa-mm-dd(SP)
aaaa-mm-jj(FR)
您可以使用DateFormat.getDateFormat(Context)
,它执行以下操作:
返回一个
DateFormat
对象,该对象可以根据当前语言环境和用户的日期顺序首选项以短格式(例如 12/31/1999)格式化日期。
然后,将类型的对象传递给它Activity
or Context
:
java.text.DateFormat formatter = android.text.format.DateFormat.getDateFormat(context);
SimpleDateFormat(String, Locale)
使用指定的非本地化模式以及指定区域设置的 DateFormatSymbols 和 Calendar 构造一个新的 SimpleDateFormat。
所以模式不应该改变
封装本地化的日期时间格式数据,例如月份的名称、星期几的名称和时区数据。DateFormat 和 SimpleDateFormat 都使用 DateFormatSymbols 来封装这些信息。
唯一应该改变的是月份名称、tzdata 或星期名称(如果您使用过的话)。
获取本地化模式字符串使用
toLocalizedPattern()
http://developer.android.com/reference/java/text/SimpleDateFormat.html#toLocalizedPattern%28%29
SimpleDateFormat.applyLocalizedPattern(String template)
打电话前先试一下SimpleDateFormat.toLocalizedPattern()
你可以这样做:
DateFormat dateFormat = android.text.format.DateFormat.getDateFormat(mContext);
String pattern = ((SimpleDateFormat) dateFormat).toLocalizedPattern();
editText.setHint(pattern);