본문 바로가기
Front

[Javascript] 날짜 정보 객체 / getFullYear() / getMonth() / getDate() / getDay() / getHours() / getMinutes() / getSeconds() / getMiliseconds() / getTime()

by bkuk 2022. 9. 19.

날짜나 시간 관련 정보를 제공받고 싶을 때 사용하는 날짜 객체(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() );

댓글