본문 바로가기
programming/javascript

자바스크립트 날짜 객체 입력 출력 형태 타임존 설정

by 개코 - 개발과 코딩 2022. 2. 24.

자바스크립트 날짜 객체를 만들 때 임의로 날짜를 설정할 수 있다. 3가지 형태로 날짜를 입력할 수 있으며, 출력할 때는 GMT 그리니치 평균시에 따른 Full Text 의 긴 문자열 형태로 보여준다. 날짜 출력 형태에 따라 조금 다르지만 국제표준과 국제협정시에 따라 날짜 형태는 조금 다르다. 추가로 자바스크립트 날짜는 사용자의 웹브라우저를 기준으로 한다.

자바스크립트 날짜 객체 형태 타임존 설정

자바스크립트 날짜의 형태를 위해 살펴볼 것이 있다.

입력을 하는 날짜 형태와 출력을 하는 날짜의 형태이다.

한번쯤 눈여겨 보고 지나갈 부분이기도 하다.

먼저 자바스크립트에서 날짜를 생성할 때 사용되는 입력형태를 본다.

다음으로 출력되는 형태를 다시 살펴보도록 한다.

날짜 입력 형태

자바스크립트의 날짜 객체를 생성할 때 날짜를 굳이 입력하는 경우들이 있다.

날짜를 입력하는 경우는 3가지이다.

국제표준인 ISO 형태와 짧은 형태 풀텍스트 형태로 입력을 하여 날짜 객체를 생성할 수 있다.

  • yyyy-mm-dd : ISO 국제표준 날짜
    2022-02-22
  • yyyy/dd/dd : 짧은 문자
    2022/02/22
  • 월 일 년 : 긴 문자 / 영어권 날짜 표시 형식
    Feb 22 2022 , 22 Feb 2022

날짜 출력 형태

이전 포스팅에서도 다루었지만, 날짜 객체를 사용할 경우 자바스크립트의 날짜 출력형식은 긴 문자열의 Full Text 형식이다.

먼저 자바스크립트 날짜 형태에 대한 출력결과를 보려면 이전 포스팅을 참고 한다.

이 날짜 형태에 대한 출력결과는 조금씩 다르지만 약자에 대한 내용은 다음과 같다.

  • Date.toString()
    - GMT 그리니치 평균시 형태의 문자열로 출력
  • Date.toUTCString()
    - UTC 국제협정시 형태의 문자열로 출력
  • Date.toDateString()
    - 시간을 제외한 날짜만 출력
  • Date.toISOString()
    - ISO 국제표준 형태의 문자열로 출력

샘플 코드

자바스크립트의 날짜 객체를 생성할 때 위에서 언급한 날짜 입력 형태를 입력하더라도 기본값은 GMT Full Text 형식이다.

GMT 는 그리니치 평균시를 의미한다.

출력형태를 어떻게 정하느냐에 따라 출력 문자열은 조금씩 달라질 수 있다.

<!DOCTYPE html>
<html>
    <body>

        <script>
            
            console.log('----------');

            let vDate;
            let vText;

            // 날짜객체 생성
            vDate = new Date('2022-02-22');
            vDate = new Date('2022/02/22');
            vDate = new Date('Feb 22 2022');
            vDate = new Date('22 Feb 2022');
            console.log(typeof(vDate), vDate);
            
            console.log('----------');

            vText = vDate.toString();
            console.log(typeof(vText), vText);
            
            vText = vDate.toUTCString();
            console.log(typeof(vText), vText);
            
            vText = vDate.toDateString();
            console.log(typeof(vText), vText);
            
            vText = vDate.toISOString();
            console.log(typeof(vText), vText);

            console.log('----------');
            /* */

        </script>

    </body>
</html>

입력형태는 어떻게 되든 출력은 지정한 것을 기준으로 표시하게 된다.

참고로 자바스크립트는 클라이언트 ( Client) 언어이기도 하기 때문에 웹브라우저의 타임존을 따른다.

즉, 자바스크립트에 표시되는 시간은 웹브라우저를 기준으로 한다.

결과화면을 보자.

반응형

댓글