为什么显示错误的时区输出?

时间:2015-04-01 06:55:38

标签: java timezone

TimeZone timeZone = TimeZone.getTimeZone("US/Eastern");     
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd kk:mm z");
Date date=new Date();
formatter.setTimeZone(timeZone);
System.out.println(timeZone.getDisplayName());
System.out.println(formatter.format(date));

我系统上的输出是:

东部标准时间

2015-04-01 02:41 EDT

我在期待:

东部标准时间

2015-04-01 02:41 EST

因为美国/东方是EST。 谁能解释我为什么?

3 个答案:

答案 0 :(得分:3)

那是东部的夏令时。为了节省一小时的白昼,从当前时间减去一小时。如你所见,时间是一样的。这意味着EST已自动更新。简而言之,它基本上是一回事,不要担心。

See this short encyclopedia article.

答案 1 :(得分:2)

EDT(东部夏令时)是连接到EST(东部标准时间)的夏令时时区。请参阅Eastern Time Zone

所以你得到了正确的输出。

答案 2 :(得分:1)

这是因为夏季的夏令时。

  

U.S。在夏季使用EDT,在冬季使用EST。 1