unix-timestamp - javascript エポック秒 変換 - JavaScriptでタイムスタンプを取得するにはどうすればいいですか?

javascript date ミリ秒 / javascript / date / datetime / timestamp

JavaScriptでタイムスタンプを取得するにはどうしたらいいですか?

Nicolás Alarcón Rapela



Answer #1

迅速で汚い解決策:

Date.now() /1000 |0
Math.floor(Date.now() /1000);

この答えの下のコメントから取られたデレク朕會功夫によるいくつかのオタクの代替案:

new Date/1e3|0

IEで機能させるには、次のようにします(MDNのPolyfill )。

if (!Date.now) {
    Date.now = function now() {
        return new Date().getTime();
    };
}

年/曜日/夏時間を気にしない場合は、それを取り除き、2038年以降にこれを使用できます。

var now = (function () {
    var year = new Date(new Date().getFullYear().toString()).getTime();
    return function () {
        return Date.now() - year
    }
})();

どのように見えるのかを出力します。

new Date()
Thu Oct 29 2015 08:46:30 GMT+0100 (Mitteleuropäische Zeit )
new Date(now())
Thu Oct 29 1970 09:46:30 GMT+0100 (Mitteleuropäische Zeit )

コードが最初に実行された時点からの相対的な時間を知りたいだけであれば、次のような方法があります。

var relativeTime = (function () {
    var start = Date.now();
    return function () {
        return Date.now() - start
    }
})();

提供することにより | 、バイナリOR演算を実行するようにインタプリタに指示します。ビット演算には、 Date.now() / 1000 10進結果を整数に変換する絶対数が必要です。