問題

JavaScriptでタイムスタンプを取得するにはどうすればよいですか?

Unixタイムスタンプに似たもの、つまり現在の時刻と日付を表す単一の数値です。数値または文字列のいずれか。

  ベストアンサー

ショート&スナジー:

 + new Date()
 

plusのような単項演算子は、DateオブジェクトのvalueOfメソッドをトリガし、タイムスタンプを返します(変更なし)。

詳細:

ほとんどすべての現在のブラウザでは、 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オブジェクトを作成しません。ただし、シム&を必要としない場合は、「古い」メソッドを使用してタイムスタンプをミリ秒単位で取得できます。

 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()); 

  同じタグがついた質問を見る

javascriptdatedatetimetimestampunix-timestamp