目前,我有
private ThreadLocal
使用我的Android 4.1,这为我提供了日期格式(在我的本地化.对于其他国家可能看起来不同)
19/07/2013
但是,有时我希望有一个更短的版本,如19/07/13
我不想硬编码
DD / MM / YY
由于上述方式不能在不同国家之间移植.有些国家,他们的月份是在约会之前.
有没有可行的方法来实现这一目标?
p / s不仅是月/日订单.可能还有其他问题.例如,中国正在使用19-07-13或19-07-2013.其他国家可能会有更多边缘案例,但我不知道.
最佳答案
SimpleDateFormat dateFormat= (SimpleDateFormat) DateFormat.getDateInstance();
dateFormat.applyPattern(dateFormat.toPattern().replaceAll("y{4}","yy"));
说明:
applyPattern(String pattern)将给定的模式字符串应用于此日期格式.
dateFormat.toPattern()获取当前模式
dateFormat.toPattern().replaceAll(String regex,String replacement)返回当前模式,regex替换为替换.
“y {4}”查看一系列4 y的日期格式模式,并且
“yy”说,如果你看到4年代,请用2替换它们.
希望有所帮助.祝好运.
编辑:
正如MH指出的那样,因为这是针对android的,所以使用它可能更合适:
SimpleDateFormat dateFormat = (SimpleDateFormat)
android.text.format.DateFormat.getDateFormat(getApplicationContext());
这应该工作正常,因为上面的方法调用返回java.text.DateFormat的DateFormat,而不是android.text.format.DateFormat.