特定于语言环境的时间和日期格式,包括毫秒

时间:2014-02-06 09:21:14

标签: java date locale milliseconds

我正在尝试使用时间格式化日期,包括特定于当前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的毫秒数?

1 个答案:

答案 0 :(得分:1)

  

使用SimpleDateFormat,我可以定义自己的日期和时间格式,包括毫秒,但是我必须自己处理Locales,这将是一团糟。

为什么一团糟?只需定义例如从Locale到SimpleDateFormat的HashMap,用于您想要支持的几个区域设置。根据需要编写自定义SimpleDateFormats。然后根据传入的特定Locale使用正确的。