Lsiron

new Date().getTime(); 본문

언어/Java Script

new Date().getTime();

Lsiron 2024. 5. 16. 19:57

JavaScript에서 new Date()는 현재 시간을 나타내는 Date 객체를 생성하는 메서드이다.

즉, 코드가 실행된 시점의 날짜와 시간 정보를 포함하는 Date 객체를 반환한다.

 

getTime() 메서드는 Date 객체의 시간 정보를 밀리초(milliseconds)로 반환하는 메서드이다.

 

Date 객체는 내부적으로 1970년 1월 1일 0시 0분 0초(UTC)부터 현재까지의 시간을 밀리초로 나타내는 숫자값을 갖고 있다.

 

getTime() 메서드를 호출하면 해당 숫자값을 반환하여, 1970년 1월 1일부터 현재까지의 총 밀리초 수를 얻을 수 있다.

(new Date().getTime())

아래는 new Date()와 getTime()를 사용한 예시 코드이다.

// 현재 시간을 나타내는 Date 객체 생성
const currentDate = new Date();

// 현재 시간을 출력
console.log('현재 시간:', currentDate);

// 현재 시간을 밀리초로 변환하여 출력 , 1970년 1월 1일부터 현재까지 총 몇 밀리초가 지났는지 알 수 있음.
const currentTimeInMillis = currentDate.getTime();
console.log('현재 시간(밀리초):', currentTimeInMillis);

 

위 코드에서는 new Date()를 사용하여 현재 시간을 나타내는 Date 객체를 생성하고, 이 객체의 getTime() 메서드를 사용하여 현재 시간을 밀리초로 변환하여 출력하고 있다.

 

실행 결과는 현재 시간을 나타내는 Date 객체와 현재 시간을 밀리초로 변환한 숫자값이 출력된다.

 

new Date()와 getTime()은 기대하는 날 까지 몇일이 남았는지 계산하는 용도로 자주 사용된다.

// 특정 시간과 현재 시간의 차이를 계산하여 일수로 출력하는 예제
const currentDate = new Date();
const futureDate = new Date('2024-12-25');
const timeDifference = futureDate.getTime() - currentDate.getTime();
const daysDifference = Math.ceil(timeDifference / (1000 * 60 * 60 * 24)); // 밀리초를 일수로 변환
console.log('현재로부터 2024년 12월 25일까지 남은 일수:', daysDifference, '일');

 

1970년 1월 1일부터 2024년 12월 25일까지의 시간을 밀리초로 변환한 값에 -

1970년 1월 1일부터 현재 시간까지의 시간을 밀리초로 변환한 값을 빼면, 현재시간부터 2024년 12월 25일까지 남은 밀리초가 나온다.  => (x+미래시) - (x+현재시) = 미래시 - 현재시 이므로 남은시간이 출력된다. (당연한건데 코드를 짜다보면 은근히 헷갈린다.)

 

이 밀리초를 1000으로 나누면 초로 바뀌고 60으로 나누면 분으로 바뀌며 다시 60으로 나누면 시간, 마지막으로 24로 나누면 일로 바뀐다. (6000밀리초는 = 1초 / 60초 = 1분 / 60분 = 1시간 / 24시간 = 1일)

 

참고로 Math.ceil() 함수는 수를 올림하는 함수이다. <=> 반대로 내림은 Math.floor() 이다.