为了账号安全,请及时绑定邮箱和手机立即绑定

从 Java TimeZone 获取缩写?

从 Java TimeZone 获取缩写?

森林海 2022-11-30 14:38:30
我需要获取现有 Java TimeZone 对象的缩写(作为字符串)。如果没有直接映射,有没有办法做到这一点?Eg- TimeZone     -  ("America/Los_Angeles")      Abbreviation -  PDT
查看完整描述

2 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

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


请替换您想要的语言环境。对于许多语言环境,它不会有任何区别,但某些时区对某些语言环境有本地化缩写。


查看完整回答
反对 回复 2022-11-30
?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

看起来你正在寻找这个:

String s = TimeZone.getTimeZone("America/Los_Angeles")
                   .getDisplayName(false, TimeZone.SHORT);


查看完整回答
反对 回复 2022-11-30
  • 2 回答
  • 0 关注
  • 121 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信