표준 빌트인 객체인 Date는 날짜와 시간을 위한 메서드를 제공하는 빌트인 객체이면서 생성자 함수다. 시간을 표기하는 방법으로는 UTC와 GMT가 있는데 둘은 초의 소수점 단위에서만 차이가 나기떄문에 일상에서는 혼용되어 사용된다. 기술적인 표기에서는 UTC가 사용된다. 현재 날짜와 시간은 자바스크립트 코드가 실행된 시스템의 시계에 의해 결정된다.
Date는 생성자 함수다. Date 생성자 함수로 생성한 Date 객체는 내부적으로 날짜와 시간을 나타내는 정수값을 갖는다. 이 값은 1970년 1월 1일 00:00:00(UTC)을 기점으로 Date 객체가 나타내는 날짜와 시간까지의 밀리초를 나타낸다.
new Date()
: new 키워드와 함께 호출하면 현재 날짜와 시간을 갖는 Date 객체를 반환한다.
Date()
: new 연산자 없이 호출하면 Date 객체 대신 날짜와 시간 정보를 나타내는 문자열을 반환한다.
new Date();
// 2022-01-05T02:40:40.624Z
Date();
//'Wed Jan 05 2022 11:40:40 GMT+0900 (대한민국 표준시)'
new Date(dateString)
: Date 생성자 함수에 날짜와 시간을 나타내는 문자열을 인수로 전달하면 지정된 날짜와 시간을 나타내는 Date 객체를 반환한다. 이때 인수로 전달한 문자열은 Date.parse 메서드에 의해 해석 가능한 형식
이어야 한다.
new Date(year, month[, day, hour, minute, second, millisecond])
: Date 생성자 함수에 연, 월, 일, 시, 분, 초, 밀리초를 의미하는 숫자를 인수로 전달하면 지정된 날짜와 시간을 나타내는 Date 객체를 반환한다.
month는 0 ~ 11까지의 정수로 0은 1월을 의미한다.
Date 객체에서 요일 정보를 구할 때 반환 값은 0 ~ 6까지의 정수로 0은 월요일을 의미한다.
const today = new Date();
console.log(today.getDay()); // 해당 요일에 해당하는 정수값을 반환함
출처: 모던 자바스크립트 Deep Dive-이웅모