5

私の質問は些細なことかもしれませんが、説明を求めているだけです。SO のどこかで、Java の Date() が実際には常に UTC 時間であることを読みました。Date() オブジェクトを作成して toString() を使用して出力すると、ローカル時間が表示されます。これが正しい印刷方法でない場合、UTC 時刻を取得するにはどうすればよいですか?

4

3 に答える 3

7

フォーマットについては、実際にはDateFormat実装を使用する必要があります (例: SimpleDateFormat)。これにより、タイムゾーン(および出力形式)を指定できます。Dateそれ自体にはタイムゾーンの概念がありません。これは、「Unix エポックからのミリ秒」をストレージとして使用して、ある瞬間を表します。このtoString()メソッドは、システムのデフォルトのタイムゾーンを使用して、表現されているインスタントをローカル時間に変換するだけです。

個人的には、組み込みの日付/時刻 API から完全に離れて、 Joda Timeをより賢明なライブラリとして使用することをお勧めします。

于 2011-05-10T08:42:11.043 に答える