小编Sek*_*uar的帖子

GMT ID如何在Java TimeZone中运行?

我目前正在使用不同的时区java.util.TimeZone.我做的第一件事是使用获取TimeZone ID的列表TimeZone.getAvailableIDs();

它返回了一堆Etc/GMTID,例如

Etc/GMT
Etc/GMT+0
Etc/GMT+1
Run Code Online (Sandbox Code Playgroud)

TimeZoneJavadoc说使用"例如,GMT+10GMT+0010"

为了确保我使用的是正确的,我用两个ID做了一个小测试,结果与我的预期不符:

String id = "GMT-1";
Calendar c = Calendar.getInstance(TimeZone.getTimeZone(id));
System.out.println(id + '\n' + c.getTimeZone().getDisplayName() + " HOUR_OF_DAY " + c.get(Calendar.HOUR_OF_DAY) + '\n');

id = "GMT+1";
c = Calendar.getInstance(TimeZone.getTimeZone(id));
System.out.println(id + '\n' + c.getTimeZone().getDisplayName() + " HOUR_OF_DAY " + c.get(Calendar.HOUR_OF_DAY) + '\n');

id = "Etc/GMT-1";
c = Calendar.getInstance(TimeZone.getTimeZone(id));
System.out.println(id + '\n' + c.getTimeZone().getDisplayName() + " HOUR_OF_DAY " + c.get(Calendar.HOUR_OF_DAY) + '\n');

id …
Run Code Online (Sandbox Code Playgroud)

java timezone

1
推荐指数
1
解决办法
1175
查看次数

标签 统计

java ×1

timezone ×1