Java
のDate
クラスはSystem.currentTimeMillis()で報告されたシステム時間を使用します。これにより、Windows
には、低解像度のWin32/64
API呼び出しGetSystemTimeAsFileTime()
が呼び出されます。これは、「UTC形式の現在のシステム日付と時刻」を常に返します(Microsoft documentation)。
コードにアクセスしていて、カスタム以外の任意の時刻を表すカスタムDate
オブジェクトを作成する必要がある場合は、Calendar
クラスを使用することをお勧めします。例えば
次のように上に与えられた
Calendar calendar = new GregorianCalendar();
calendar.set(Calendar.YEAR, 2014);
calendar.set(Calendar.MONTH, 0); // 0 = January, 11 = December
calendar.set(Calendar.DAY_OF_MONTH, 1); // 1 to 31
、新しいDate
オブジェクトを取得することができない。Javaの外部から操作する
Date date = calendar.getTime();
出典
2016-03-30 01:12:30
PNS
あなたはどのJavaの実装を使用していますか? – Natecat
@ Natecat java version "1.7.0_80" JREビルド1.7.0_80-b15 – Azeworai
@ TungD.Nguyen、日付を変更してJavaアプリケーションを再起動した後にプロセスを強制終了しましたが、まだ実際のリアルタイムの日付は取得されていません2014年1月1日 – Azeworai