Javaドキュメントには、コンストラクDate(long date)
ターが1970年1月1日00:00:00GMT以降の指定されたミリ秒の時間値を使用してDateオブジェクトを作成することが記載されています。
私がやったときnew Date(0)
、日付はJan 01 01: 00 : 00CET1970です
なぜ01hで始まるのかわかりません
GMTより1時間進んでいるため、午前1時に表示されます。日付インスタンスは、 1970GMTの00:00:00からのミリ秒数の単なるカウンターです。1時間先から、エポックが発生したのは実際には午前1時でした。
Dateインスタンスは、システムのタイムゾーンを使用するようにtoString()メソッドをフォーマットするだけです。別のゾーンを使用して日付を印刷する場合は、DateFormatインスタンスを使用します。
これは、ヨーロッパのタイムゾーン(CET)で日付を表示しているためです。UNIX時間(オブジェクトに与えるミリ秒Date
)はGMTを使用します。