java是否有使用Windows本地化信息的DateFormatProvider?
我正在编写一个必须显示日期的JavaGUI应用程序
由于此应用程序主要在Windows系统上运行,我希望能够使用date&;与Windows本地化设置相对应的时间格式
我在Java6中发现了DateFormatProvider类,这给了我很大的希望。。。但是我还没有找到一个使用Windows本地化信息的实现
有什么建议吗
你可以在下面搜索框中键入要查询的问题!
我正在编写一个必须显示日期的JavaGUI应用程序
由于此应用程序主要在Windows系统上运行,我希望能够使用date&;与Windows本地化设置相对应的时间格式
我在Java6中发现了DateFormatProvider类,这给了我很大的希望。。。但是我还没有找到一个使用Windows本地化信息的实现
有什么建议吗
# 1 楼答案
我还没有听说过任何Java日期格式化程序使用MS Windows格式化例程(或者只是定义)。由于Java是多平台的(编译一次,在任何地方运行),出于一致性的原因,它无法使用底层操作系统行为
可以使用定义为here的DateFormat类:
这门课的一个重要问题是:捷克语、波兰语和俄语的长日期格式被打破,其他斯拉夫语也可能被打破。我建议改用中日期格式
顺便说一句,这将为公历或儒略历设置日期格式。它不会提供阿拉伯文或希伯来文日历(尽管某些国家默认使用阿拉伯文或希伯来文日历)
编辑
我不知道您的具体要求,但既然您提到了Locale,那么ICU4J'sDateFormat类可能就是您想要的。不过,据我所知(这里可能不完整),他们正在使用自己的格式化程序和本地化文本数据库。但是,这个数据库可能比与JDK(以前的ICU快照)捆绑的数据库更完整(尤其是在Mac上)
# 2 楼答案
您应该能够将
DateFormatProvider
方法与getDefault()返回的默认语言环境一起使用编辑:如果不能将默认语言环境传递给
DateFormat
类,那么有一个示例代码here用于实现扩展DateFormatProvider
的具体类