我正在尝试使用时间格式化日期,包括特定于当前Locale的Java的毫秒数,因此例如在US / English Locale中,它应如下所示:10/7/13 05:24:12.121 PM
。在德国/德国语言环境中,它应如下所示:07.10.13 17:24:12.121
。我知道Java中的DateFormat
类以及SimpleDateFormat
类。使用DateFormat
,我可以获得DateFormat
对象,该对象可以让我格式化特定区域设置的时间,但即使DateFormat.FULL
作为format
方法的格式参数,它只显示第二个时间。使用SimpleDateFormat
,我可以定义自己的日期和时间格式,包括毫秒,但是我必须自己处理Locales,这将是一团糟。
我也看了一下Joda Time API,但我找不到解决方案。
所以问题是,我如何用时间格式化日期,包括特定于某个Locale的Java的毫秒数?
答案 0 :(得分:1)
使用SimpleDateFormat,我可以定义自己的日期和时间格式,包括毫秒,但是我必须自己处理Locales,这将是一团糟。
为什么一团糟?只需定义例如从Locale到SimpleDateFormat的HashMap,用于您想要支持的几个区域设置。根据需要编写自定义SimpleDateFormats。然后根据传入的特定Locale使用正确的。