1

Windows Server 2003 マシンがインストールされており、「Cisco Voice Portal」という cisco 製品がインストールされています。この製品は JRE バージョン1_5_0_12で実行されます。次のいずれかの方法で日付/時刻を取得します。

new Date();

また

Calendar.getInstance();

日付は常にシステム日付より 1 時間進んでいます。最初はタイムゾーンの不一致だと思っていましたが、これは日付オブジェクトを出力した結果です:

Fri Oct 08 02:36:38 EST 2010

システムクロックもESTタイムゾーンです。つまり、タイムゾーンは同じです。システムの日付は正しいもので、システムのマシンはオーストラリアのシドニーです。これを修正するための提案はありますか? 前もって感謝します。

4

2 に答える 2

2

まず第一に、JRE にはタイムゾーン情報の独自のデータベースがあり、ネイティブ プラットフォームのものと異なる場合とない場合があります。

もう 1 つの問題は、JRE を起動するときに、ホスト プラットフォームとは異なるロケールまたはタイムゾーンを指定した可能性があることです。これもこの種の動作の原因となります。

PS :プラットフォームと JVM のタイムゾーンがどのように関連しているか (関連していないか) については、Oracle (例: Sun) のこのFAQ エントリを参照してください。

于 2010-10-18T10:58:50.853 に答える
1

新しいJREバージョンにアップグレードしてみましたか?1.5.0_13で修正されたと思われるバグ6595137を参照してください。

于 2010-10-18T11:02:04.687 に答える