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) 이다.
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
에는 정해진 형태의 옵션을 적용할 수 있다.