我已经知道how to find the "short" date-format pattern Java is using for a particular locale了。但是,在C#中,我可以走得更远;我可以找到all customary "short" date format patterns for a particular locale。
基于this SO answer,我怀疑日期格式(Pre SE 8)不依赖于操作系统。
答案 0 :(得分:0)
正如他们所说,对于那些尝试的人来说,一切皆有可能。如果您知道如何获取单个区域设置的模式,则可以轻松获取all supported Locales的模式。方法如下:
Locale[] locales = DateFormat.getAvailableLocales();
for (Locale locale : locales) {
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale);
if (df instanceof SimpleDateFormat) { // For the time being it will always be...
SimpleDateFormat sdf = (SimpleDateFormat) df;
System.out.println(sdf.toPattern());
}
}
它可能并且可能始终保持与操作系统无关。在Java 8中,还有其他可用的格式,基本上是来自 CLDR - Unicode Common Locale Data Repository的格式,但requires quite an effort可以将它们放在它们上面。