Я запускаю программу Java на компьютере под управлением Windows. Я пытаюсь получить список часовых поясов и их соответствующую информацию. Вот полная программа:Java не дает правильную информацию о часовом поясе
String[] allTimeZones = TimeZone.getAvailableIDs();
Date now = new Date();
for (int i = 0; i < allTimeZones.length; i++) {
TimeZone tz = TimeZone.getTimeZone(allTimeZones[i]);
System.out.format("%s;%s; %f \n",
allTimeZones[i],
tz.getDisplayName(),
(float) (tz.getOffset(now.getTime())/3600000.0));
}
Один из сгенерированной временной зоны имеет следующую информацию:
Америка/Триатлон, по восточному поясному времени; -4.000000
Это озадачивает. В этот момент Нью-Йорк находится в летнем летнем летнем времени. Поэтому приведенная выше информация неверна.
Кто-нибудь знает, как я могу сделать Java для создания
America/New_York; восточное поясное время; -5,000000
или что-то вроде этого
Америка/Триатлон, Восточное лето летнее время; -4.000000
Спасибо за помощь!
С уважением
http://www.timeanddate.com/worldclock/city.html?n=179 –
Вы спрашиваете о том, как получить все часовые пояса в мире, или как получить «местное время», как определено в ОС компьютера, на котором работает ваш код? –
Кроме того, ознакомьтесь с [JodaTime] (http://joda-time.sourceforge.net/), который считается лучшей библиотекой даты и времени в целом. –