私の質問は些細なことかもしれませんが、説明を求めているだけです。SO のどこかで、Java の Date() が実際には常に UTC 時間であることを読みました。Date() オブジェクトを作成して toString() を使用して出力すると、ローカル時間が表示されます。これが正しい印刷方法でない場合、UTC 時刻を取得するにはどうすればよいですか?
1234 次
3 に答える
7
フォーマットについては、実際にはDateFormat
実装を使用する必要があります (例: SimpleDateFormat
)。これにより、タイムゾーン(および出力形式)を指定できます。Date
それ自体にはタイムゾーンの概念がありません。これは、「Unix エポックからのミリ秒」をストレージとして使用して、ある瞬間を表します。このtoString()
メソッドは、システムのデフォルトのタイムゾーンを使用して、表現されているインスタントをローカル時間に変換するだけです。
個人的には、組み込みの日付/時刻 API から完全に離れて、 Joda Timeをより賢明なライブラリとして使用することをお勧めします。
于 2011-05-10T08:42:11.043 に答える