Date.now()
Статичний метод Date.now()
вертає кількість мілісекунд від 1 січня 1970 року о 00:00:00 за UTC.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Синтаксис
var timeInMs = Date.now();
Вертає
Число
, що позначає кількість мілісекунд від початку епохи за часом Unix.
Запасний варіант (поліфіл)
Цей метод було стандартизовано 5-им випуском ECMA-262. Для рушіїв, що не мають підтримки цього метода, стане в пригоді таке рішення:
if (!Date.now) {
Date.now = function now() {
return new Date().getTime();
};
}
Приклади
Зменшена точність часу
Для захисту від атак за часом чи за цифровими відбитками, точність Date.now()
може бути округлена, в залежності від налаштувань переглядача.
У Firefox параметр privacy.reduceTimerPrecision
за замовчуванням увімкнений та дорівнює 20 мс у Firefox 59; у 60 він дорівнюватиме 2 мс.
// зменшена точність часу (2 мс) у Firefox 60
Date.now()
// 1519211809934
// 1519211810362
// 1519211811670
// ...
// зменшена точність часу з увімкненим параметром `privacy.resistFingerprinting`
Date.now();
// 1519129853500
// 1519129858900
// 1519129864400
// ...
У Firefox ви також можете увімкнути privacy.resistFingerprinting
, точність дорівнюватиме або 100 мс, або значенню privacy.resistFingerprinting.reduceTimerPrecision.microseconds
, в залежності від того, що більше.
Специфікації
Підтримка веб-переглядачами
BCD tables only load in the browser
Див. також
Performance.now()
(en-US) — вертає поточний час із роздільною здатністю вище мілісекунди для програмного вимірювання швидкодії веб-сторінкиconsole.time()
(en-US) /console.timeEnd()
(en-US)