如何在Java 8时间库中获取3个字符的时区显示名称?
How to get 3-character time zone display names in Java 8 time library?
当 DST 处于活动状态时,我可以使用 java.util.TimeZone
打印 EDT,如下所示:
TimeZone.getTimeZone("America/New_York").getDisplayName(true, TimeZone.SHORT) -> Returns "EDT"
想和Java8的新时库一样的三字。我试试这个,但我只得到 ET:
ZonedDateTime.now().getZone().getDisplayName(TextStyle.SHORT, Locale.US) -> Returns "ET"
有什么方法可以根据 DST 状态在新库中获取 3 个字符的显示名称(EST、EDT、PST、PDT 等)?
你可以这样使用DateTimeFormatter
ZonedDateTime.now().format(DateTimeFormatter.ofPattern("z"))
ZoneId
在您的 ZonedDateTime
中实际上没有该信息。
当 DST 处于活动状态时,我可以使用 java.util.TimeZone
打印 EDT,如下所示:
TimeZone.getTimeZone("America/New_York").getDisplayName(true, TimeZone.SHORT) -> Returns "EDT"
想和Java8的新时库一样的三字。我试试这个,但我只得到 ET:
ZonedDateTime.now().getZone().getDisplayName(TextStyle.SHORT, Locale.US) -> Returns "ET"
有什么方法可以根据 DST 状态在新库中获取 3 个字符的显示名称(EST、EDT、PST、PDT 等)?
你可以这样使用DateTimeFormatter
ZonedDateTime.now().format(DateTimeFormatter.ofPattern("z"))
ZoneId
在您的 ZonedDateTime
中实际上没有该信息。