본문 바로가기
🔧JavaScript 자바스크립트

[JavaScript] #5 객체 - 날짜 객체 Date()로 D-day 구하기

by 로띠 2021. 7. 9.

Q . Date() 란?

   날짜, 시간의 정보를 가져올 수 있는 내장 날짜, 시간객체.

   현재 날짜 뿐만아니라 특정 날짜도 가능하고 D-day도 구할 수 있다.

 


 

 

#1  getDate()

 

 - var today = new Date();

 

    Date() 를 통해 오늘 날짜를 구할 수 있는데

    해당 월 , 일, 요일도 get을 통해 구할 수 있다

 

 

	var today = new Date();
    
	today.getFullYear	// 연도
	today.getMonth();	// 월
	today.getDate();	// 일
	today.getDay();		// 요일
    
	today.getHours		// 시간
	today.getMinutes	// 분
	today.getSeconds	// 초
	today.getMilliseconds	// 1/1000초

    연도와 시간값까지 모두 가져올 수 있다.

    특정 변수의 날짜값을 수정하고 싶을 땐 get을 set으로 바꾸면 된다.

 

 

 

 


 

 

#2  D-day 구하기

   D-day 남은 일자 구하기는 보통 getTime(); (밀리초(1/1000초))로 구한다고 한다.

   따라서 밀리초는 이렇게 변환한다

 

 

 

 -  밀리초 구하기 (1/1000초)

 --   1초    =  1000 (msc)

 --   1분    =  1000*60  =  60,000 (msc)

 --   1시간 =  1000*60*60  =  3,600,000 (msc)

 --   1일    =  1000*60*60*24  =  86,400,000 (msc)

 

 

 

 

 -  D-day 구하기

    크리스마스까지 남은 일수를 구해보자 !

	1	var today = new Date();		// 오늘 날짜
	2	var christmas = new Date("2021/12/25");	// 크리스마스
	3
	4	var diffDate = christmas.getTime() - today.getTime();	// 밀리초로 계산
	5
	6	var Dday = Math.ceil( diffDate / (1000*60*60*24) );	// 밀리초를 '일'로 환산

 

   완성!

 

 

    여기서 특이한 점이 있는데 2행에서 '월' 부분을 주의해야한다.

 

    2행에서 ( "2021/12/25" ) 가 아닌 ( 2021, 12, 25 ) 쉼표 형식으로 작성한다면 '월' month는 -1을 해야한다.

    ( 2021, 11, 25 ) 이렇게 써줘야 한다.....

 

    그래서 그냥 난 콤마쓰고 제 날짜를 입력한다 ㅋㅋ

 

 

    6행에서 Math와 ceil은 다음 포스팅에서 다룰 내용인데 계산 내장객체다.

    여기서는 오늘 포함 D-day를 나타내기 위해 소수점 첫 자리 반올림인 ceil 을 썼다.

 

 

 

 

오늘의 느낀점은 솔직히 밀리초를 변환하는 기능이나, D-day를 구해주는 내장객체는 왜 없는가,,?ㅎㅎ

너무 쉬워서 그런가?

쉬운데 쉬워서 더 귀찮은 작업이란 생각이 든다 (생겼으면 좋겠다^^)