JavaScriptでエポックから秒を取得するにはどうすればよいですか?


152

Unixではdate '+%s'、エポックからの秒数を取得するために実行できます。しかし、私はそれをバックエンドではなくブラウザのフロントエンドでクエリする必要があります。

JavaScriptでエポックからの秒数を調べる方法はありますか?

回答:


246
var seconds = new Date() / 1000;

または、ハックの少ないバージョンの場合:

var d = new Date();
var seconds = d.getTime() / 1000;

忘れないように、Math.floor()またはMath.round()最も近い整数に丸めることを忘れないでください。

var d = new Date();
var seconds = Math.round(d.getTime() / 1000);

8
var seconds = new Date() / 1000;<-これはどのような難解な魔法ですか?
マーティンウィックマン

3
Re:難解な魔法:これらのドキュメントによれば、JavaScriptはDateオブジェクトをNumberに変換する方法を知っています。つまり、入力Number(new Date())して数値を取得したり、を取得したり、JavaScript +(new Date())などの数値コンテキストで任意のDateインスタンスを使用したりすることができますnew Date()/1000。JavaScriptは、そのDateインスタンスを数値に変換して、数式を処理します。
dpmott


39

エポックから数秒が欲しかった

function seconds_since_epoch(){ return Math.floor( Date.now() / 1000 ) }

使用例

foo = seconds_since_epoch();

3
それは小数を考慮に入れるので、これは答えであるはずです。
ジェームズパック

11

上記のソリューションはインスタンスプロパティを使用します。もう1つの方法は、クラスプロパティを使用することDate.nowです。

var time_in_millis = Date.now();
var time_in_seconds = time_in_millis / 1000;

time_in_secondsを整数にしたい場合は、2つのオプションがあります。

a。Cスタイルの切り捨てと一致させたい場合:

time_in_seconds_int = time_in_seconds >= 0 ?
                      Math.floor(time_in_seconds) : Math.ceil(time_in_seconds);

b。保持する整数除算の数学的定義だけが必要な場合は、発言権を取ります。(Pythonの整数除算がこれを行います)。

time_in_seconds_int = Math.floor(time_in_seconds);

9

あなたがしたい場合にのみ秒まだ添付ミリ秒を表す小数なし整数としての、これを使用します:

var seconds = Math.floor(new Date() / 1000);

5

Dateオブジェクト(現在の時刻が含まれる)を作成し、次に呼び出しgetTime()て、エポックからのミリ秒を取得できます。

var ms = new Date().getTime();

秒が必要な場合は、1000で割ります。

var sec = new Date().getTime() / 1000;




0
EPOCH means time from 01 January 1970
var date = new Date();
Following line will return the number of milliseconds from 01 Jaunary 1970
var ms = date.getTime();
Following line will convert milliseconds to seconds
var seconds = Math.floor(ms/1000);
console.log("Seconds since epoch =",seconds);
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.