날짜나 시간 관련 정보를 제공받고 싶을 때 사용하는 날짜 객체(Date Object)
우선, 현재 날짜의 정보를 제공하는 Date 객체를 생성
//기본 형식
참조 변수 = new Date();
// 예
let date = new Date();
또는, 현재 날짜가 아니라 특정 날짜의 Date 객체 생성
// 기본 형식
참조 변수 = new Date("연/월/일");
// 예
let date = new Date("2022/9/19")
날짜 정보 객체
getFullYear() | 연도 정보 |
getMonth() | 월 정보( 현재 월 -1) |
getDate() | 일 정보 |
getDay() | 요일 정보(일: 0 ~ 토:6) |
getHours() | 시 정보 |
getMinutes() | 분 정보 |
getSeconds() | 초 정보 |
getMiliseconds() | 밀리초 정보( 1/1,000초 단위 ) |
getTime() | 1970년 1월 1일부터 경과된 시간을 밀리초로 표기 |
소스코드
let date = new Date();
console.log( date.getFullYear());
console.log( date.getMonth() + 1) ;
console.log( date.getDate() );
console.log( date.getDay() );
console.log( date.getHours() );
console.log( date.getMinutes() );
console.log( date.getSeconds() );
console.log( date.getMilliseconds() );
console.log( date.getTime() );
출력
switch문을 이용한 특정 날짜의 요일 출력
+ 빈횐 값 중 일요일은 0 ~ 토요일은 6을 의미함.
소스코드
let date1 = new Date( 2022, 12-1, 24);
switch( date1.getDay()) {
case 0 :
console.log('일요일');
break;
case 1 :
console.log('월요일');
break;
case 2 :
console.log('화요일');
break;
case 3 :
console.log('수요일');
break;
case 4 :
console.log('목요일');
break;
case 5 :
console.log('금요일');
break;
case 6 :
console.log('토요일');
break;
}
출력
2022/12/24일은 토요일이라고 출력
월의 마지막을 출력하고 싶다면? , 2022년 2월의 마지막 날은 무슨 날일까?
소스코드
let date3 = new Date( 2022, 3-1, 1-1);
console.log( date3.getDate());
1-1 = 0이므로,
3월 0일 => 2월의 마지막 날 의미
출력
현재 날짜부터 특정 날짜까지 며칠이 남았는지 구하는 형식
유닉스 타임: 1970년 1월 1일 00:00:00 협정 세계시(UTC) 부터의 경과 시간을 초로 환산하여 정수로 나타낸 것
남은 일 수(단위: 밀리초) = 특정 날짜 객체 - 현재 날짜 객체
let date1 = new Date( 2022, 11-1, 9);
let date2 = new Date( 2022, 11-1, 10);
console.log(date2 - date1);
밀리초로 계산된걸 볼 수 있다.
1970년 1월 1일부터 경과한 시간을 밀리초로 표기하는 tTime() 메서드를 사용한다면?
console.log( date2.getTime() - date1.getTime() );
위와 동일하게 출력된 것을 볼 수 있다.
단위 환산을 해준다면?
- 1초 = 1.000(msc)
- 1분 = 1,000 * 60
- 1시간 = 1,000 * 60 * 60
- 1일 = 1,000 *60 * 60 * 24
console.log( (date2.getTime() - date1.getTime()) / ( 1000 * 60 * 60 * 24 ) );
위와 같은 방법도 좋지만, 일 정보를 가져오는 getDate() 메서드를 이용하면 간편하게 계산된다.
console.log( (date2.getDate() - date1.getDate()));
이미 선언된 날짜에 100일을 추가한다면?
let date1 = new Date( 2022, 11-1, 9);
date1.setDate( date1.getDate() + 100 );
console.log( date1.toLocaleString() );
댓글