获取尊重当地的日期和月份

时间:2016-05-31 16:23:24

标签: java java-8 java-time

我有Instant,我想使用DateTimeFormatter打印一个日期和月份的日期,尊重用户Local

例如:在美国,我想打印MM/dd(即05/31),而在德国,我想打印dd.MM(即31.05)。

如何使用java8 DateTimeFormatter

执行此操作

1 个答案:

答案 0 :(得分:0)

DateTimeFormatter.ofLocalizedDate方法允许您获取可以输出日期的格式化程序,但JDK 8中没有可用于输出本地化年月的数据。您需要自己创建 <?xml version="1.0"?> <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> <file source-language="en" datatype="plaintext" original="file.ext"> <body> <trans-unit id="1"> <source>Next</source> <target>Siguiente</target> </trans-unit> <trans-unit id="2"> <source>Previous</source> <target>Anterior</target> </trans-unit> <trans-unit id="3"> <source>client</source> <target>Cliente</target> </trans-unit> <trans-unit id="4"> <source>user</source> <target>Usuario</target> </trans-unit> </body> </file> </xliff> 。您可以使用CLDR中的数据来提供帮助。

输出Map<Locale, DateTimeFormatter>是一个单独的问题,因为瞬间没有日期或时间部分。格式化程序需要使用Instant添加时区,以便输出withZone(ZoneId)作为年月。