Date 객체 관련 내용 정리

싱클베어·2022년 2월 9일
0

Date?

Date 객체는 날짜와 시간(년, 월, 일, 시, 분, 초, 밀리초(천분의 1초(millisecond, ms)))을 위한 메소드를 제공하는 빌트인 객체이면서 생성자 함수이다.

// 현재 시간을 받아옴
const date = new Date();
console.log(typeof(date)) // Object
console.log(date); // Tue Feb 08 2022 00:22:03 GMT+0900 (한국 표준시)


// new를 붙이지 않고 Date 객체를 불러오면, String 형태로 받아옴
const stringDate = Date();
console.log(typeof(stringDate)) // String
console.log(stringDate); // 'String - 'Tue Feb 08 2022 00:22:03 GMT+0900 (한국 표준시)'

date 변수를 콘솔로 출력했을때 표기는 위와같이 나오지만, Object 내의 실제 value 값을 복사하여 열어보면 아래와 같다.

"2022-02-07T15:22:03.794Z"

이 형태는 ISO 8601 형태의 문자열이다. 기준이 되는 시간대는 GMT(UTC+00:00) 이고, "YYYY-MM-DDTHH:mm:ss.sssZ" 형태를 지닌다.

한국 표준시 KST는 (UTC+09:00) 이다.

사용 예시

  • 오늘 날짜를 Date 내장 메서드를 사용해 풀어쓰기
let today = new Date(); // Tue Feb 08 2022 00:22:03 GMT+0900 (한국 표준시)
let year = today.getFullYear(); // 연도.
let month = today.getMonth(); // 월. index 값, 0~11로 표기됨. +1 값을 해주어야, 사람이 익숙한 1~12월의 형태.
let day = today.getDate(); // 일.
let week = today.getDay(); // 요일. 일요일~토요일 0~6 index로 표기
let todayWeek = ['일','월','화','수','목','금','토'];

let today_info = '오늘은 ' + year + '년 ' + (month+1) + '월 ' + day + '일 ' + todayWeek[week] + '요일 입니다.'
console.log(today_info);

실행 결과:
오늘은 2022년 2월 8일 화요일 입니다.

  • 날짜를 국가에 맞는 표준 시간 표기법 형태로 변환하기
let date = new Date(); // 'Tue Feb 08 2022 18:32:04 GMT+0900 (한국 표준시)'
date.toLocaleString(); // 브라우저의 언어를 따라감, 2022. 2. 8. 오후 6:32:04
date.toLocaleString('en-US'); // 미국 형식, 2/8/2022, 6:32:04 PM
date.toLocaleString('en-GB'); // 영국 형식, 08/02/2022, 18:32:04
date.toLocaleString('ko-KR', {hour12: false}); // 12시간 표기 방식 안함, 2022. 2. 8. 18시 32분 4초
date.toISOString() // '2022-02-08T09:32:04.249Z'

접속하는 브라우저에 설정된 언어 설정과 시간에 따라 해당 값은 변경될 수 있다.
Date.toLocaleString(locales,option) 에서는 locales언어-국가 형태로 입력하고, option 에는 정해진 형태의 옵션을 적용할 수 있다.


참고 URL

날짜와 시간을 위한 Date 객체

Date 객체 톺아보기

MDN - Date

로케일(Locale)이란? 국가 및 언어 설정

profile
안녕하세요.

0개의 댓글