获取当地的日期和月份

Get date and month respecting local

我有一个 Instant,我想使用 DateTimeFormatter 来打印一个日期,其中仅包含与用户 Local.

相关的日期和月份

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

如何使用 java8 DateTimeFormatter 执行此操作?

DateTimeFormatter.ofLocalizedDate 方法允许您获得可以输出日期的格式化程序,但是 JDK8 中没有可用的数据来输出本地化的年月。您需要自己创建一个 Map<Locale, DateTimeFormatter>。您可以使用 CLDR 中的数据来提供帮助。

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