1. ホーム
  2. Java

Javaにおける新しいDate().getTime()のタイムスタンプ問題

2022-02-23 18:14:37
<パス

1. getTime() 戻り値

Java JavaScript は両方とも時間型をサポートしています。 Date とその getTime() メソッドは、ミリ秒単位で返します。デフォルトでは 13 digits Unit is milliseconds .

2. 備考

 /**
     * Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT
     * represented by this <tt>Date</tt> object.
     *
     * @return the number of milliseconds since January 1, 1970, 00:00:00 GMT
     * represented by this date.
     */
    public long getTime() {
        return getTimeImpl();
    }


誤解が生じやすいところ。
プログラムが East 8 で実行されている場合、北京時間を返します。 January 01, 1970 at 08:00:00 から Current Eastern Time Total number of milliseconds . UTC タイムゾーンで実行されている場合は 00:00:00 on January 01, 1970 から Current UTC time Total number of milliseconds . getTime()メソッドで取得したタイムスタンプは、プログラムが動作しているタイムゾーンに関係しているように見えます。

ペルディオ 説明はとても丁寧で、以下のように抜粋されています。
実は、違うんです。 getTime() のフェッチ自体は問題ありません。 timestamp から取得されます。 1970-01-01 00:00:00 (UTC) を現在のミリ秒に変換します。実際にプログラムを動かしているコンテナ(サーバー)のタイムゾーンとは関係ありません。東8局 "01/01/1970 08:00:00 BST" UTC January 01, 1970 at 00:00:00 です。

参考

  1. https://blog.csdn.net/qq_27127145/article/details/94554678