# Timestamps
# High-resolution timestamps
performance.now()
(opens new window) returns a precise timestamp: The number of milliseconds, including microseconds, since the current web page started to load.
More generally, it returns the time elapsed since the performanceTiming.navigationStart
(opens new window) event.
t = performance.now();
For example, in a web browser's main context, performance.now()
returns 6288.319
if the web page began to load 6288 milliseconds and 319 microseconds ago.
# Low-resolution timestamps
Date.now()
(opens new window) returns the number of whole milliseconds that have elapsed since 1 January 1970 00:00:00 UTC.
t = Date.now();
For example, Date.now()
returns 1461069314
if it was called on 19 April 2016 at 12:35:14 GMT.
# Get Timestamp in Seconds
To get the timestamp in seconds
Math.floor((new Date().getTime()) / 1000)
# Support for legacy browsers
In older browsers where Date.now()
is unavailable, use (new Date()).getTime()
(opens new window) instead:
t = (new Date()).getTime();
Or, to provide a Date.now()
function for use in older browsers, use this polyfill (opens new window):
if (!Date.now) {
Date.now = function now() {
return new Date().getTime();
};
}
# Syntax
- millisecondsAndMicrosecondsSincePageLoad = performance.now();
- millisecondsSinceYear1970 = Date.now();
- millisecondsSinceYear1970 = (new Date()).getTime();
# Remarks
performance.now()
is available in modern web browsers (opens new window) and provides reliable timestamps with sub-millisecond resolution.
Since Date.now()
and (new Date()).getTime()
are based on the system time, they often get skewed by a few milliseconds when the system time is automatically synchronized (opens new window).
← Map Unary Operators →