Date.now()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Date.now()
메소드는 UTC 기준으로 1970년 1월 1일 0시 0분 0초부터 현재까지 경과된 밀리초를 반환합니다.
시도해보기
문법
var timeInMs = Date.now();
반환 값
1970년 1월 1일 0시 0분 0초부터 현재까지 경과된 밀리초를 나타내는 숫자입니다.
설명
Polyfill
이 메소드는 ECMA-262 5판에서 표준화되었습니다. 아직 이 메소드를 지원하도록 갱신되지 않은 엔진들은 이 메소드의 미지원에 대한 차선책으로 다음 코드를 활용하실 수 있습니다.
if (!Date.now) {
Date.now = function now() {
return new Date().getTime();
};
}
예시
감소된 시간 정밀도
타이밍 공격 및 핑거 프린팅에 대한 보호를 제공하기 위해 Date.now ()
의 정밀도는 브라우저 설정에 따라 반올림될 수 있습니다.
Firefox에서는 privacy.reduceTimerPrecision
기본 설정이 기본적으로 활성화되어 있으며 Firefox 59에서는 기본값이 20µs입니다. Firefox 60에서는 2ms가 됩니다.
// Firefox 60에서 시간 정밀도 (2ms) 감소
Date.now();
// 1519211809934
// 1519211810362
// 1519211811670
// ...
// `privacy.resistFingerprinting`을 활성화하여 시간 정밀도 감소
Date.now();
// 1519129853500
// 1519129858900
// 1519129864400
// ...
Firefox에서는 privacy.resistFingerprinting
을 활성화할 수도 있습니다. 정밀도는 100ms 또는 privacy.resistFingerprinting.reduceTimerPrecision.microseconds
중 더 큰 값이 됩니다.
명세
Specification |
---|
ECMAScript Language Specification # sec-date.now |
브라우저 호환성
BCD tables only load in the browser
참고하세요
Performance.now()
— provides timestamps with sub-millisecond resolution for use in measuring web page performanceconsole.time()
/console.timeEnd()