aboutsummaryrefslogtreecommitdiff
path: root/files/it/web/javascript/reference/global_objects/date/gettime/index.html
blob: 0424faa8a492a4a0f8122f2ce51468e33b31a4e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
---
title: Date.prototype.getTime()
slug: Web/JavaScript/Reference/Global_Objects/Date/getTime
translation_of: Web/JavaScript/Reference/Global_Objects/Date/getTime
---
<div> {{JSRef}}</div>

<div> </div>

<div>Il metodo <strong>getTime() </strong>restituisce il numero di millisecondi a partire dalla <a href="https://en.wikipedia.org/wiki/Unix_time">Unix Epoch</a>.</div>

<p> </p>

<p>* JavaScript utilizza i <em>millisecondi come unità di misura</em>, mentre lo Unix Time è in <em>secondi.</em></p>

<p><em>getTime() utilizza sempre lo UTC per la rappresentazione del  tempo. Ad esempio, un client browser in un fuso orario, getTime() sarà lo stesso come un client browser in qualsiasi altro fuso orario.</em></p>

<p>Puoi utilizzare questo metodo per aiutare ad assegnare una data ed un orario ad un altro oggetto {{jsxref("Date")}} . Questo metodo è funzionalmente equivalente al metodo {{jsxref("Date.valueof", "valueOf()")}}.</p>

<div>{{EmbedInteractiveExample("pages/js/date-gettime.html")}}</div>

<p class="hidden">La sorgente di questo esempio interattivo è contenuta in una repository di GitHub. Se volessi contribuire al progetto di esempio interattivo, per favore clona <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> ed inviaci una pull request.</p>

<h2 id="Sintassi">Sintassi</h2>

<pre class="syntaxbox"><code><var>dateObj</var>.getTime()</code></pre>

<h3 id="Valore_di_Ritorno">Valore di Ritorno</h3>

<p>Un numero rappresentante i millisecondi trascorsi tra il  1 Gennaio 1970 00:00:00 UTC e la data utilizzata.</p>

<h2 id="Esempi">Esempi</h2>

<h3 id="Utilizzare_getTime()_per_copiare_le_date">Utilizzare <code>getTime()</code> per copiare le date</h3>

<p>Costruire un oggetto data con lo stesso valore di tempo.</p>

<pre class="brush: js">// Poichè il mese è in base zero, birthday sarà January 10, 1995
var birthday = new Date(1994, 12, 10);
var copy = new Date();
copy.setTime(birthday.getTime());
</pre>

<h3 id="Misurare_il_tempo_di_esecuzione">Misurare il tempo di esecuzione</h3>

<p>Sottrarre due susseguenti chiamate <code>getTime()</code> su nuovi oggetti {{jsxref("Date")}} generati, dà il lasso di tempo tra queste due chiamate. Ciò può essere usato per calcolare il tempo di esecuzione di alcune operazioni. Vedere anche {{jsxref("Date.now()")}} per prevenire la non necessaria instanziazione di oggetti {{jsxref("Date")}}.</p>

<pre class="brush: js">var end, start;

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

console.log('Operation took ' + (end.getTime() - start.getTime()) + ' msec');
</pre>

<h2 id="Precisione_di_tempo_ridotta">Precisione di tempo ridotta</h2>

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

<pre class="brush: js">// precisione di tempo ridotta (2ms) in Firefox 60
new Date().getTime();
// 1519211809934
// 1519211810362
// 1519211811670
// ...


// precisione di tempo ridotta con  `privacy.resistFingerprinting` abilitata
new Date().getTime();
// 1519129853500
// 1519129858900
// 1519129864400
// ...
</pre>

<p>In Firefox, puoi anche abilitare <code>privacy.resistFingerprinting</code>, la precisione sarà 100ms oppure il valore di  <code>privacy.resistFingerprinting.reduceTimerPrecision.microseconds</code>, qualunque sia superiore.</p>

<h2 id="Specificazioni">Specificazioni</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Specificazione</th>
   <th scope="col">Status</th>
   <th scope="col">Commento</th>
  </tr>
  <tr>
   <td>{{SpecName('ES1')}}</td>
   <td>{{Spec2('ES1')}}</td>
   <td>Definizione iniziale. Implementata in JavaScript 1.0.</td>
  </tr>
  <tr>
   <td>{{SpecName('ES5.1', '#sec-15.9.5.9', 'Date.prototype.getTime')}}</td>
   <td>{{Spec2('ES5.1')}}</td>
   <td> </td>
  </tr>
  <tr>
   <td>{{SpecName('ES6', '#sec-date.prototype.gettime', 'Date.prototype.getTime')}}</td>
   <td>{{Spec2('ES6')}}</td>
   <td> </td>
  </tr>
  <tr>
   <td>{{SpecName('ESDraft', '#sec-date.prototype.gettime', 'Date.prototype.getTime')}}</td>
   <td>{{Spec2('ESDraft')}}</td>
   <td> </td>
  </tr>
 </tbody>
</table>

<h2 id="Compatibilità_Browser"> Compatibilità Browser</h2>

<p class="hidden">La tavola di compatibilità in questa pagina è generata da dati strutturati.  Se volessi contrinbuire ai dari, per favore controlla <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> ed inviaci una pull request.</p>

<p>{{Compat("javascript.builtins.Date.getTime")}}</p>

<h2 id="Vedi_anche">Vedi anche</h2>

<ul>
 <li>{{jsxref("Date.prototype.setTime()")}}</li>
 <li>{{jsxref("Date.prototype.valueOf()")}}</li>
 <li>{{jsxref("Date.now()")}}</li>
</ul>