2015-04-01 4 views
1
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)); 

выход на моей системе:Почему он показывает неправильный вывод часового пояса?

Eastern Standard Time

2015-04-01 02:41 EDT

я ожидал:

Eastern Стандартное время

2015-04-01 02:41 EST

потому что US/Eastern EST. может кто-нибудь объяснить мне, почему?

ответ

3

Это восточное дневное время. Чтобы сохранить час дневного света в час, вычитается из текущего времени. Как вы можете видеть, время одно и то же. Это означает, что EST обновлялся автоматически. Короче говоря, это в основном одно и то же, не беспокойтесь.

See this short encyclopedia article.

2

EDT (по восточному летнему времени) является летнее время зона соединена с EST (Eastern Standard Time). См. Eastern Time Zone.

Итак, вы получаете правильный результат.

1

Это из-за летнего времени в летнее время.

Соединенные Штаты Америки используют EDT летом и EST зимой. 1

Смежные вопросы