Date는 자바스크립트에서 미리 선언해둔 내장 객체 중 하나로, 서버의 날짜와 시간을 가져온다. Date는 다른 내장 객체들과 달리 무조건 new 키워드를 써서 생성자 함수 방식으로 사용해야 한다.
// syntax: var 변수명 = new Date()
var today = new Date(); // 현재 날짜와 시간
var christmas = new Date(2023, 11, 25) // Date에 데이터를 넣고 생성 가능
date의 메소드는 크게 값을 얻어오는 메소드와 값을 변경하는 메소드가 있다.
값을 얻어오는 메소드는 get~()을 붙여서 게터라고 부르고, 값을 변경하는 메소드는 set~()을 붙여서 세터라고 부른다.
| 메소드 명 | 설명 |
|---|---|
| get~ | 값을 얻어오는 메소드 |
| getFullYear() | 4자리 숫자로 이루어진 연도 정보 (yyyy) |
| getMonth() | 숫자로 이루어진 월 정보 (0-11) 즉, 8월이 7로 배당 |
| getDate() | 숫자로 이루어진 일 정보 (1-31) |
| getDay() | 숫자로 이루어진 요일 정보 (0-6) |
| getHour() | 시간 (0~23) |
| getMinutes() | 분 (0 ~ 59) |
| getSeconds() | 초 (0 ~ 59) |
| getMilliseconds() | 밀리초 (0 ~ 999) |
| getTime() | 1970년 1월 1일부터 경과된 시간을 밀리초로 표기 |
| set~ | 값을 변경하는 메소드 |
| setFullYear() | 연도 설정 |
| setMonth() | 월 설정 |
| setDate() | 일 설정 |
| setDay() | 요일 설정 |
| setHour() | 시간 설정 |
| setMinutes() | 분 설정 |
| setSeconds() | 초 설정 |
| setMilliseconds() | 밀리초 설정 |
| setTime() | 1970년 1월 1일부터 경과된 시간을 밀리초로 설정 |
| to~ | 날짜 표기법을 바꾸는 메소드 |
| toDateString() | 날짜를 읽을 수 있는 형태로 반환 (Tue Sep 05 2023) |
| toLocaleString() | 날짜와 시간을 문자열로 반환 (2023. 9. 5. 오후 3:40:43) |
| toLocaleDateString() | 날짜만 문자열로 반환 (2023. 9. 5.) |
| toUTCString() | UTC에 따라 날짜 객체를 문자열로 반환(2023년 9월 5일 화요일 15:40:43 GMT) |
let today = new Date();
let nowYear = today.getFullYear(); // 2023
let nowMonth = today.getMonth(); // 8
let nowDate = today.getDate(); // 5
let nowDay = today.getDay(); // 2
let today = new Date();
let nowDay = today.getDay();
switch(nowDay){
case 0 : day = "일요일";
break;
case 1 : day = "월요일";
break;
case 2 : day = "화요일";
break;
case 3 : day = "수요일";
break;
case 4 : day = "목요일";
break;
case 5 : day = "금요일";
break;
case 6 : day = "토요일";
break;
}
console.log("오늘은 " + nowYear + "년 " + (nowMonth+1) +"월 " + nowDate+"일");
console.log(day+"입니다.");
// 100일 뒤
let today = new Date();
let day = today.getDate();
console.log(today.toLocaleDateString()) // 2023.09.05
today.setDate(d + 100);
console.log(today.toLocaleDateString()) // 2023.12.14
let today = new Date();
let lastDay = new Date(2023, 11, 31); // 2023.12.31
let diffDate = lastDay - today; // 2023.12.31까지 남은 시간이 밀리초로 반환
let result = Math.ceil(diffDate / (60 * 1000 * 60 * 24)); //Math.ceil > 소수점 올림
document.write("2023년 마지막 날까지 남은 일수: " + diffDate + "일");