Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 타임스탬프 구하는 방법 – 초·밀리초 단위 완벽 정리

JavaScript에서 현재 타임스탬프 얻기

JavaScript 개발을 하다 보면 현재 시간을 타임스탬프 형태로 확인해야 하는 경우가 자주 있습니다. 타임스탬프는 크게 두 가지 단위로 표현할 수 있습니다.

  • 초(seconds) 단위의 Unix 타임스탬프
  • 밀리초(milliseconds) 단위의 에포크(Epoch) 이후 경과 시간

대부분의 프로그래밍 언어는 에포크(1970년 1월 1일 00:00:00 UTC) 이후 흐른 를 기준으로 시간을 다루지만, JavaScript는 밀리초를 기준으로 동작한다는 점이 특징입니다. 따라서 용도에 맞게 단위를 올바르게 변환하는 것이 중요합니다.

1. 초 단위 Unix 타임스탬프 구하기

아래 코드는 현재 시간을 초 단위의 Unix 타임스탬프로 변환하여 반환합니다.

const date = new Date();
const unix = Math.round(+date / 1000);
console.log(unix);

+date는 Date 객체를 밀리초 단위의 숫자 값으로 변환합니다. 이 값을 1000으로 나눈 뒤 Math.round()로 반올림하면 초 단위의 Unix 타임스탬프를 얻을 수 있습니다.

2. 밀리초 단위 타임스탬프 구하기

아래 코드는 에포크 이후 경과한 시간을 밀리초 단위로 그대로 반환합니다. 참고로 이 값은 Unix 타임스탬프(초 단위)가 아니라는 점에 유의하세요.

const date = new Date();
const milliseconds = date.getTime();
console.log(milliseconds);

더 간단한 방법: Date.now()

모던 JavaScript 환경에서는 Date.now() 메서드를 사용하면 Date 객체를 생성하지 않고도 현재 시간의 밀리초 타임스탬프를 즉시 얻을 수 있습니다.

// 밀리초 단위
const milliseconds = Date.now();

// 초 단위 Unix 타임스탬프
const unix = Math.floor(Date.now() / 1000);

console.log(milliseconds);
console.log(unix);

성능 면에서도 객체 생성을 생략하는 Date.now()가 더 효율적이므로, 별도의 날짜 연산이 필요 없다면 이 방법을 사용하는 것을 권장합니다.