在java中,您可以通过执行以下操作获取基于特定区域设置的日期格式:
Locale locale = new Locale("en", "UK");
DateFormat format = DateFormat.getDateInstance(DateFormat.MEDIUM, locale);
System.out.println( ((SimpleDateFormat)format).toPattern());
打印
dd-MMM-yyyy
这个模式是否在某个属性文件中进行了硬编码?有没有什么办法可以扩展java机制并应用我自己的模式(依赖于语言环境)所以当我运行上面的代码时,我得到:
dd-MM-yyyy
答案 0 :(得分:0)
我的想法是始终使用相同的格式,在我的例子中是DateFormat.SHORT。
我最终使用短格式并替换当年包含4个字符的2个字符的默认格式。
如果有人想知道,格式确实在FormatData_XX_YY类(例如FormatData_en_UK)下的sun.text.resources包中进行了硬编码。