프로그래밍 언어/JavaScript

JavaScript) 자바스크립트 날짜와 시간 사용하기

luana_eun 2022. 1. 29. 20:58
728x90

자바스크립트의 내장객체중 하나로, 날짜와 시간정보를 제공한다. 

날짜 객체는 월을 표현할때 0~11 로 표현하므로 1월이 0, 12월이 11이고, 요일은 일(0) ~ 토(6) 으로 표현한다.  

 

 

1. 현재 날짜

형식: 요일 월 일 연도 시:분:초 

let day = new Date();
document.write(day);
// Sat Jan 29 2022 20:26:38 GMT+0900 (한국 표준시)

Date()에 어떤 형태로 날짜를 넣냐에 따라 다르게 출력된다. 

var day2 = new Date("2022/1/1");
// Sat Jan 01 2022 00:00:00 GMT+0900 (한국 표준시)

var day3 = new Date(2022,1,1);
// Tue Feb 01 2022 00:00:00 GMT+0900 (한국 표준시)
// 월을 0~11로 표현하므로 2월이 출력되었다.

 

 

 

2. 연도, 월, 일, 요일 따로 빼기

연도: getFullYear()

월   : getMonth()

일   : getDate()

요일: getDay()

// 오늘은 2022년 1월 29일 토요일이다. 

document.write(day.getFullYear() + "<br>")	// 2022
document.write(day.getMonth() + "<br>")		// 0
document.write(day.getDate() + "<br>")		// 29
document.write(day.getDay() + "<br>")		// 6

1월인데 0, 토요일인데 6으로 출력된다. 

위에서도 말했다시피 월은 0부터 시작되서 실제로 적용하려면 +1을 해야한다. 

 

 

 

 

3. 시간정보 출력

// 시간정보 출력. [hh:MM:ss]
var hour = day.getHours();
var min = day.getMinutes();
var sec = day.getSeconds();
	
document.write("현재시간: " + hour + "시 " + min + "분 " + sec + "초");

 

 

 

4. 시간을 날짜로 계산하기

자바스크립트는 1970년 1월 1일을 기준으로 ms로 계산한다. 

1초    = 1000ms

1분    = 60 * 1000ms

1시간 = 60 * 60 * 1000ms

1일    = 24 * 60 * 60 * 1000ms

 

디데이를 계산하는 알고리즘을 만들어보자! ( 과거~현재까지의 디데이)

var dDay = (y, m ,d) => {
	var d_day = new Date() - new Date(y, m-1, d);
	d_day /= (24*60*60*1000);
		
	return document.write("D-day: " + Math.ceil(d_day) + "일 지남")
}
	
dDay(2021, 12, 31);
728x90