EST和EDT时间在java中返回GMT时间

时间:2017-07-11 13:55:51

标签: java

当我表演时:

TimeZone.setDefault(TimeZone.getTimeZone("EDT"));

TimeZone.setDefault(TimeZone.getTimeZone("EST"));

并获取时区:

System.out.println(TimeZone.getDefault());

我有时间参加GMT。 或者,如果你能告诉我我可以传递的全名是什么,而不是像EST和EDT这样的缩写名称。全名如“AMerica / New-York”。

我想显示EST时间。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用America/New_York设置时区:

TimeZone.setDefault(TimeZone.getTimeZone("America/New_York"));
System.out.println(TimeZone.getDefault()); 

打印:

sun.util.calendar.ZoneInfo[id="America/New_York",offset=-18000000,dstSavings=3600000,useDaylight=true,transitions=235,lastRule=java.util.SimpleTimeZone[id=America/New_York,offset=-18000000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=3,startMonth=2,startDay=8,startDayOfWeek=1,startTime=7200000,startTimeMode=0,endMode=3,endMonth=10,endDay=1,endDayOfWeek=1,endTime=7200000,endTimeMode=0]]

也许是旁注:

您可以使用以下方式列出所有可用的时区ID:

String[] ids = TimeZone.getAvailableIDs();
for (String id : ids) {
    System.out.println(TimeZone.getTimeZone(id).getID());
}