ZonedDateTime 本地化
ZonedDateTime localization
我需要根据后面得到的locale输出ZonedDateTime
。有什么方法可以将 ZonedDateTime
值转换为所需格式?
ZonedDateTime creationDate=ZonedDateTime.now();
//convert creationDate depending on the existing locale
ZonedDateTime 没有 格式。 ZonedDateTime 的概念是 format-less.
格式化程序是它们自己的对象(DateTimeFormatter
的实例)。它们是可配置的(例如,您可以更改它们的区域设置,然后它们所做的所有 locale-specific 呈现,例如 long-form 月份名称,都会更改),并且您可以要求它们格式化提供的 zoneddatetime .
因此,随时随地创建您的 zoneddatetime 对象,将其存储在您想要的任何位置。如果 3 天后,您需要根据您刚刚获得的某些语言环境对其进行格式化,那很好。那就这样做:
ZonedDateTime zdt = ZonedDateTime.now();
// days pass
DateTimeFormatter dtf = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL).localizedBy(Locale.FRENCH);
System.out.println(dtf.format(zdt));
我需要根据后面得到的locale输出ZonedDateTime
。有什么方法可以将 ZonedDateTime
值转换为所需格式?
ZonedDateTime creationDate=ZonedDateTime.now();
//convert creationDate depending on the existing locale
ZonedDateTime 没有 格式。 ZonedDateTime 的概念是 format-less.
格式化程序是它们自己的对象(DateTimeFormatter
的实例)。它们是可配置的(例如,您可以更改它们的区域设置,然后它们所做的所有 locale-specific 呈现,例如 long-form 月份名称,都会更改),并且您可以要求它们格式化提供的 zoneddatetime .
因此,随时随地创建您的 zoneddatetime 对象,将其存储在您想要的任何位置。如果 3 天后,您需要根据您刚刚获得的某些语言环境对其进行格式化,那很好。那就这样做:
ZonedDateTime zdt = ZonedDateTime.now();
// days pass
DateTimeFormatter dtf = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL).localizedBy(Locale.FRENCH);
System.out.println(dtf.format(zdt));