JavaScript) Date

aoh1223·2022년 6월 15일
0

JavascriptDeepDive

목록 보기
29/34

Date

표준 빌트인 객체인 Date는 날짜와 시간을 위한 메서드를 제공하는 빌트인 객체이면서 생성자 함수다.


1. Date 생성자 함수

Date는 생성자 함수다. Date 생성자 함수로 생성한 Date 객체는 내부적으로 날짜와 시간을 나타내는 정수값을 갖는다. Date 생성자 함수로 객체를 생성하는 방법은 다음과 같이 4가지가 있다.

1-1. new Date()

Date 생성자 함수를 인수 없이 new 연산자와 함께 호출하면 현재 날짜와 시간을 가지는 Date 객체를 반환한다. Date 객체는 내부적으로 날짜와 시간을 나타내는 정수값을 갖지만 Date 객체를 콘솔에 출력하면 기본적으로 날짜와 시간 정보를 출력한다.

new Date(); // Wed Jun 15 2022 23:51:41 GMT+0900 (한국 표준시)

1-2. new Date(milliseconds)

Date 생성자 함수에 숫자 타입의 밀리초를 인수로 전달하면 1970년 1월 1일 00:00:00(UTC)을 기점으로 인수로 전달된 밀리초만큼 경과한 날짜와 시간을 나타내는 Date 객체를 반환한다.

1-3. new Date(dateString)

Date 생성자 함수에 날짜와 시간을 나타내는 문자열을 인수로 전달하면 지정된 날짜와 시간을 나타내는 Date 객체를 반환한다. 이때 인수로 전달한 문자열은 Date.parse 메서드에 의해 해석 가능한 형식이어야 한다.

1-4. new Date(year, month[, day, hour, minute, second, millisecond])

Date 생성자 함수에 연, 월, 일, 시, 분, 초, 밀리초를 의미하는 숫자를 인수로 전달하면 지정된 날짜와 시간을 나타내는 Date 객체를 반환한다. 이때 연, 월은 반드시 지정해야 한다. 지정하지 않은 옵션 정보는 0 또는 1로 초기화된다. 인수는 다음과 같다.

인수내용
year연을 나타내는 1900년 이후의 정수. 0부터 99는 1900부터 1999로 처리된다.
month월을 나타내는 0~11까지의 정수(주의: 0부터 시작, 0 = 1월)
day일을 나타내는 1 ~ 31까지의 정수
hour시를 나타내는 0 ~ 23까지의 정수
minute분을 나타내는 0 ~ 59까지의 정수
second초를 나타내는 0 ~ 59까지의 정수
millisecond밀리초를 나타내는 0 ~999까지의 정수

연, 월을 지정하지 않은 경우 1970년 1월 1일 00:00:00(UTC)을 나타내는 Date 객체를 반환한다.

// 월을 나타내는 2는 3월을 의미한다. 2020/3/1/00:00:00:00
new Date(2020, 2);

// 월을 나타내는 2는 3월을 의미한다. 2020/3/26/10:00:00:00
new Date(2020, 2, 26, 10, 00, 00, 0);

// 아래와 같이 표현하면 가독성이 훨씬 좋다.
new Date('2020/3/26/10:00:00:00');

2. Date 메서드

2-1. Date.now

1970년 1월1일 00:00:00(UTC)을 기점으로 현재 시간까지 경과한 밀리초를 숫자로 반환한다.

const now = Date.now(); // 1656676073728

new Date(now); // Fri Jul 01 2022 20:48:41 GMT+0900 (한국 표준시)

2-2. Date.prototype.getFullYear

Date 객체의 연도를 나타내는 정수를 반환한다.

new Date('2022/07/01').getFullYear(); // 2022

2-3. Date.prototype.getMonth

Date 객체의 월을 나타내는 0 ~ 11의 정수를 반환한다. 1월은 0, 12월은 11이다.

new Date('2022/07/01').getMonth(); // 6

2-4. Date.prototype.getDay

Date 객체의 요일(0~6)을 나타내는 정수를 반환한다. 반환값은 다음과 같다.

요일반환값
일요일0
월요일1
화요일2
수요일3
목요일4
금요일5
토요일6

모던 자바스크립트 Deep Dive를 읽고 정리한 글입니다😊

profile
필기하고 기록하고

0개의 댓글