如何获取Java的TimeZone的三个字母缩写
例如:TimeZone.getTimeZone("Pacific/Auckland").getDisplayName
给我:
GMT+12
但是我想要NZST
或NZDT
。
有可能吗?
答案 0 :(得分:2)
使用Joda-Time
DateTimeZone dz = DateTimeZone.forID("Pacific/Auckland");
String timezone = dz.getNameKey(DateTimeUtils.currentTimeMillis()); // NZST
在您的build.gradle
中添加-
implementation 'joda-time:joda-time:2.10'
答案 1 :(得分:0)
尝试这些
TimeZone timeZone = TimeZone.getTimeZone("Pacific/Auckland");
System.out.println(timeZone.getID());
System.out.println(timeZone.getRawOffset());
System.out.println(timeZone.getDisplayName(false, TimeZone.LONG));
System.out.println(timeZone.getDisplayName(false, TimeZone.SHORT));
System.out.println(timeZone.getDisplayName(true, TimeZone.LONG));
System.out.println(timeZone.getDisplayName(true, TimeZone.SHORT));
我认为这是您需要的:
System.out.println(timeZone.getDisplayName(true, TimeZone.SHORT));