Несмотря на то, что и Windows и Linux уже хранят информацию о часовых поясах и обновляют её при установке обновлений, у Java своя база часовых поясов. И её тоже нужно периодически обновлять, даже если вы не обновляете саму Java. Обновление часовых поясов происходит с помощью утилиты Java Time Zone Updater Tool, которую можно скачать с сайта Oracle:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Найдите в списке Java Time Zone Updater Tool и нажмите Download. На следующей странице нужно будет согласиться с лицензионным соглашением (переключатель на Accept License Agreement) и после этого можно будет скачать файл TZUpdater. Это будет ZIP архив. Распакуйте его и запустите полученный jar файл командой:
1 |
java -jar tzupdater.jar -u |
Всё. После этого часовые пояса будут проставлены правильно. Можно проверить текущий часовой пояс простенькой программой:
1 2 3 4 5 6 7 8 |
import java.text.SimpleDateFormat; import java.util.Date; public class Main{ public static void main(String[] args) { System.out.println(new SimpleDateFormat("dd.MM.yyyy HH:mm:SS(Z)(z)").format(new Date())); } } |
Скомпилируйте её и запустите. Сравните вывод с настоящим временем и часовым поясом.