Часы JRE отличаются (на час вперед) от системной даты - PullRequest
1 голос
/ 18 октября 2010

У меня установлен компьютер с Windows Server 2003, продукт cisco под названием «Cisco Voice Portal», этот продукт работает на версии JRE 1_5_0_12 .Получение даты / времени:

new Date();

или

Calendar.getInstance();

всегда с датой на один час вперед системной даты.Сначала я подумал, что это несоответствие часового пояса, однако это результат вывода объекта даты:

Fri Oct 08 02:36:38 EST 2010

, а системные часы также находятся в EST часовом поясе.что означает, что часовые пояса одинаковы.Системная дата является правильной, системный компьютер - Сидней, Австралия .Любые предложения, чтобы это исправить?Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 18 октября 2010

Прежде всего, у JRE есть своя собственная база данных с информацией о часовых поясах, и она может или не может отличаться от базы данных на вашей родной платформе.

Другая проблема, которая может у вас возникнуть, заключается в том, что при запуске JREвозможно, вы указали либо локаль, либо часовой пояс, отличающийся от языкового стандарта вашей хост-платформы, что также приведет к такому типу поведения.

PS : возможно, вы захотите прочитать это Запись часто задаваемых вопросов от Oracle (например, Sun) о том, как часовые пояса платформы и JVM связаны (не).

1 голос
/ 18 октября 2010

Вы пытались перейти на более новую версию JRE?Обратитесь к ошибке 6595137 , которая, похоже, исправлена ​​в 1.5.0_13.

...