Date.now()

Date.now() 메소드는 UTC 기준으로 1970년 1월 1일 0시 0분 0초부터 현재까지 경과된 밀리 초를 반환합니다.

문법

var timeInMs = Date.now();

반환 값

1970년 1월 1일 0시 0분 0초부터 현재까지 경과된 밀리 초를 나타내는 숫자입니다.

설명

now() 메소드는 1970년 1월 1일 0시 0분 0초부터 현재까지 경과된 밀리 초를 Number 형으로 반환합니다.

now()는 Date의 정적 메소드이기 때문에, 항상 Date.now() 처럼 사용하셔야 합니다.

Polyfill

이 메소드는 ECMA-262 5판에서 표준화되었습니다. 아직 이 메소드를 지원하도록 갱신되지 않은 엔진들은 이 메소드의 미지원에 대한 차선책으로 다음 코드를 활용하실 수 있습니다.

if (!Date.now) {
  Date.now = function now() {
    return new Date().getTime();
  };
}

예시

감소된 시간 정밀도

타이밍 공격 및 핑거 프린팅에 대한 보호를 제공하기 위해 Date.now ()의 정밀도는 브라우저 설정에 따라 반올림 될 수 있습니다.
Firefox에서는 privacy.reduceTimerPrecision 기본 설정이 기본적으로 활성화되어 있으며 Firefox 59에서는 기본값이 20µs입니다. 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 Status Comment
ECMAScript 5.1 (ECMA-262)
The definition of 'Date.now' in that specification.
Standard Initial definition. Implemented in JavaScript 1.5.
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Date.now' in that specification.
Standard
ECMAScript (ECMA-262)
The definition of 'Date.now' in that specification.
Living Standard

브라우저 호환성

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 5 3.0 (1.9) 9 10.50 4
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

참고하세요