--- title: Date.now() slug: Web/JavaScript/Reference/Global_Objects/Date/now translation_of: Web/JavaScript/Reference/Global_Objects/Date/now ---
{{JSRef}}

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

{{EmbedInteractiveExample("pages/js/date-now.html")}}

Sintassi

var timeInMs = Date.now();

Valore di ritorno

Un {{jsxref("Number")}} rappresentante i millisecondi trascorsi fin dall'epoca UNIX.

Descrizione

Poichè now() è un metodo statico di  {{jsxref("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

Specification Status Comment
{{SpecName('ES5.1', '#sec-15.9.4.4', 'Date.now')}} {{Spec2('ES5.1')}} Definizione iniziale. Implementata in JavaScript 1.5.
{{SpecName('ES6', '#sec-date.now', 'Date.now')}} {{Spec2('ES6')}}  
{{SpecName('ESDraft', '#sec-date.now', 'Date.now')}} {{Spec2('ESDraft')}}  

Compatibilità browser

{{Compat("javascript.builtins.Date.now")}}

Vedi anche