본문 바로가기

STUDY/JavaScript

JS | Date알아보기 ( + 남은 날짜 및 시간 구하기)

Date는 자바스크립트에 내장되어있는 객체로 1970년 1월 1일 00:00 UTC(국제 표준시)으로부터 지난 시간을 밀리세컨드 단위로 나타내는 유닉스 타임스탬프를 사용합니다.

밀리초/밀리세컨드(millisecond, ms)?
1000분의 1초를 나타내는 단위로 1000밀리세컨드는 1초와 같다.

 

Date사용해보기

 

new연산자를 사용해 Date객체를 생성. 아무런 인자값을 넣지 않으면 기본으로 생성한 시점의 시간으로 생성됨.

const CURRENT_DATE = new Date();
console.log(CURRENT_DATE);

 

 

특정 날짜로 Date객체를 생성하려면 인자값으로 특정 날짜를 입력.

const BIRTH_DAY = new Date("1995-12-28");

 

 

+) 두 날짜간의 차이(일 수) 구하기

function getDiff() {
  const currDay = new Date();
  const birthDay = new Date(`${currDay.getFullYear()}-12-28`);

  const diffDays = Math.floor((birthDay.getTime() - currDay.getTime()) / (1000 * 60 * 60 * 24));
  console.log(`생일까지 ${diffDays < 10 ? `0${diffDays}` : diffDays}일 남았습니다.`);
}

 

+) 두 날짜간의 차이(일, 시간, 분, 초) 구하기

function getTime() {
  const xmasDay = new Date("2020-12-25");
  const currDay = new Date();

  let diff = xmasDay - currDay;
  const diffDays = Math.floor((xmasDay.getTime() - currDay.getTime()) / (1000 * 60 * 60 * 24));
  diff -= diffDays * (1000 * 60 * 60 * 24);
  const diffHours = Math.floor(diff / (1000 * 60 * 60));
  diff -= diffHours * (1000 * 60 * 60);
  const diffMin = Math.floor(diff / (1000 * 60));
  diff -= diffMin * (1000 * 60);
  const diffSec = Math.floor(diff / 1000);
  
  console.log(`${diffDays < 10 ? `0${diffDays}` : diffDays}일 ${diffHours < 10 ? `0${diffHours}` : diffHours}시간 ${diffMin < 10 ? `0${diffMin}` : diffMin}분 ${diffSec < 10 ? `0${diffSec}` : diffSec}초`);

}