Date.now()

Il metodo Date.now() restituisce il numero di millisecondi trascori dal Gennaio 1, 1970 00:00:00 UTC.

Sintassi

var timeInMs = Date.now();

Valore di ritorno

Un Number rappresentante i millisecondi trascorsi fin dall'epoca UNIX.

Descrizione

Poichè now() è un metodo statico di  Date, lo utilizzerai sempre come Date.now().

Pecisione di tempo ridotta

Per offrire protezione contro attacchi di tipo timing e fingerprinting, la precisione di  Date.now() potrebbe essere arrotondata  a seconda dei settings del browser.
In Firefox,  la preferenza di  privacy.reduceTimerPrecision  è abilitata di default e predefinita a 20ms in Firefox 59; in 60 sarà 2ms.

// precisione di tempo ridotta (2ms) in Firefox 60
Date.now()
// 1519211809934
// 1519211810362
// 1519211811670
// ...


//  precisione di tempo ridotta con `privacy.resistFingerprinting` abilitata
Date.now();
// 1519129853500
// 1519129858900
// 1519129864400
// ...

In Firefox, puoi anche abiliytare privacy.resistFingerprinting, la precisione sarà 100ms oppure il valore di privacy.resistFingerprinting.reduceTimerPrecision.microseconds, qualunque sia più grande.

Polyfill

Tale metodo è stato standardizzato in ECMA-262 5th edition. Motori che non sono stati aggiornati al supporto di questo metodo possono ovviare alla sua assenza utilizzando il seguente shim:

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

Specificazioni

Compatibilità browser

BCD tables only load in the browser

Vedi anche