JavaScript

Date.prototype.getTime() メソッド

 編集:2022.11.12 by T.A.

[Edge]。→

Dateの、UTC(協定世界時)での 1970 年 1 月 1 日 0 時 0 分 0 秒からの時間をミリ数で表す数値で返します。

mdn: からの経過ミリ秒数※ を返します。

mdn: ※ JavaScriptは測定単位としてミリ秒を使用しますが、Unix 時間は秒単位です。

mdn: getTime() は時間表現に常に UTC を使用します。例えば、あるタイムゾーンに設定されているブラウザーの getTime() も、他のタイムゾーンに設定されたブラウザーの getTime() も、同じ値を返します。

mdn: このメソッドは、日付と時刻を別の Date オブジェクトへ代入する助けとして使用できます。このメソッドは、valueOf() メソッドと機能的に同等です。

構文
Date.getTime()
Date Date
返り値

1970 年 1 月 1 日 00:00:00 UTC から指定した日時までの経過時間をミリ秒で表した数値。

時刻の低精度化

ブラウザーの設定によっては、タイミング攻撃と Fingerprinting に対する保護を提供するために new Date().getTime() の精度が落とされていることがあります。Firefox では、privacy.reduceTimerPrecision が既定で有効になっています。既定値は Firefox 59 では 20 マイクロ秒で、Firefox 60 では 2 ミリ秒です。

// Firefox 60 での時刻の精度の低下(2 ミリ秒)
new Date().getTime();
// 1519211809934
// 1519211810362
// 1519211811670
// ...

// `privacy.resistFingerprinting` が有効な場合の時刻の精度の低下
new Date().getTime();
// 1519129853500
// 1519129858900
// 1519129864400
// ...

Firefox では、privacy.resistFingerprinting も有効にできます。この場合、精度は 100 ミリ秒と privacy.resistFingerprinting.reduceTimerPrecision.microseconds 値のうち大きい方になります。

getTime() を使って日付をコピーする

同一の time 値を持つ date オブジェクトを構築します。

// month は 0 を基点とするため、birthday は 1995 年 1 月 10 日になります
var birthday = new Date(1994, 12, 10);
var copy = new Date(); 
copy.setTime(birthday.getTime());
実行時間を計測する/mdn

新たに生成された Date オブジェクトでの、続く 2 個の getTime() の結果を減算して、これらの呼び出しと呼び出しの間の時間を得ます。これは、何らかの命令の実行時間を計測するために使用できます。不要な Date オブジェクトのインスタンス化を避けるため、Date.now() も参照してください。

var end, start;

start = new Date();
for (var i = 0; i < 1000; i++) {
  Math.sqrt(i);
}
end = new Date();

D='操作にかかった ' + (end.getTime() - start.getTime()) + ' msec';

テスト