1. ホーム
  2. javascript

[解決済み] JavaScriptでタイムスタンプを取得する方法は?

2022-03-14 03:09:45

質問

Unixのタイムスタンプのようなもので、現在の時刻と日付を表す1つの数値です。数字でも文字列でも構いません。

解決方法は?

Short & Snazzy:

+ new Date()

のような単項演算子は plus をトリガーとします。 valueOf メソッドを Date オブジェクトを作成すると、タイムスタンプが(何も変更されずに)返されます。

詳細はこちら

現在のほぼすべてのブラウザで Date.now() でUTCタイムスタンプを取得します。 ミリ秒 ただし、IE8以前は例外です。 互換性テーブル ).

シムは簡単に作れますが。

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

のタイムスタンプを取得するには を使うことができます。

Math.floor(Date.now() / 1000)

あるいは、別の方法として

Date.now() / 1000 | 0

これは、若干速くなるが、可読性も低下するはずだ。
(また この回答を見る または これ ビット演算子については、さらに説明します)。

を使うことをお勧めします。 Date.now() (互換性シム付き)。この方法は、より短い & で、新しい Date オブジェクトを作成します。しかし、シムが不要で互換性が最大限の場合は、"old" メソッドを使用して、タイムスタンプを ミリ秒 :

new Date().getTime()

これを秒に変換すると、次のようになります。

Math.round(new Date().getTime()/1000)

また valueOf というメソッドがあります。

new Date().valueOf()

タイムスタンプ(ミリ秒)

var timeStampInMs = window.performance && window.performance.now && window.performance.timing && window.performance.timing.navigationStart ? window.performance.now() + window.performance.timing.navigationStart : Date.now();

console.log(timeStampInMs, Date.now());