从 Java TimeZone 获取缩写?

我需要获取现有 Java TimeZone 对象的缩写(作为字符串)。如果没有直接映射,有没有办法做到这一点?

Eg- TimeZone     -  ("America/Los_Angeles") 
    Abbreviation -  PDT


森林海
浏览 213回答 2
2回答

慕虎7371278

java.time我建议您想要的缩写是America/Los_AngelesPacific Time。这个名称和这个缩写全年都可以使用,与夏令时 (DST) 无关。相比之下,适用于太平洋夏令时,因此仅在夏季使用。PTPDT    ZoneId zone = ZoneId.of("America/Los_Angeles");    System.out.println("Summer time neutral abbreviation: "            + zone.getDisplayName(TextStyle.SHORT_STANDALONE, Locale.ENGLISH));输出:夏令时中性缩写:PT如果您想要仅与一年中的这一部分相关的缩写(标准时间或夏令时):    DateTimeFormatter zoneAbbreviationFormatter            = DateTimeFormatter.ofPattern("zzz", Locale.ENGLISH);    System.out.println("Current abbreviation for either standard or summer time: "            + ZonedDateTime.now(zone).format(zoneAbbreviationFormatter));五月份运行时的输出:当前标准时间或夏令时的缩写:PDT请替换您想要的语言环境。对于许多语言环境,它不会有任何区别,但某些时区对某些语言环境有本地化缩写。

蝴蝶不菲

看起来你正在寻找这个:String s = TimeZone.getTimeZone("America/Los_Angeles")                    .getDisplayName(false, TimeZone.SHORT);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java