728x90
1. Date 생성자 함수
- 표준 필트인 객체인 Date는 날짜와 시간(연, 월, 일, 시, 분, 초, 밀리초)을 위한 메서드를 제공하는 빌트인 객체이면서 생성자 함수
- 현재 날짜와 시간은 자바스크립트 코드가 실행된 시스템의 시계에 의해 결정
UTC와 KST
- UTC(협정 세계시) : 국제 표준시
- 그리니치평균시로 불리기도 함
- UTC와 GMT는 초의 소수점 단위에서만 차이가 나기때문에 일상에서 혼용되어 사용
- KST : 한국 표준시로 UTC+9
Date 생성자 함수로 생성한 Date 객체는 내부적으로 날짜와 시간을 나타내는 정수값을 가짐
- 이 값은 1970년 1월 1일 00:00:00을 기점으로 Date 객체가 나타내는 날짜와 시간까지의 밀리초 나타냄
- 모든 시간의 기점인 1970년 1월 1일 00:00:00 = Date 객체는 정수값 0
- 1970년 1월 2일 00:00:00 = 86,400,000(24h*60m*60s*1000ms)
Date 생성자 함수로 생성한 Date 객체는 기본적으로 현재 날짜와 시간을 나타내는 정수값 가짐
- 현재 날짜, 시간이 아닌 다른 날짜, 시간을 다루고 싶은 경우 Date 생성자 함수에 명시적으로 해당 날짜와 시간 정보를 인수로 지정함
a. new Date()
- Date 생성자 함수를 인수 없이 new 연산자와 함께 호출 시 현재 날짜와 시간을 가지는 Date 객체를 반환
- Date 객체는 내부적으로 날짜와 시간을 나타내는 정수값을 갖지만 Date 객체를 콘솔에 출력하면 기본적으로 날자와 시간 정보 출력
- Date 생성자 함수를 new 연산자 없이 호출 시 Date 객체를 반환하지 않고 날짜와 시간 정보를 나타내는 문자열 반환
b. new Date(milliseconds)
- Date 생성자 함수에 숫자 타입의 밀리초를 인수로 전달하면 UTC를 기점으로 인수로 전달된 밀리초만큼 경과한 날짜와 시간을 나타내는 Date 객체 반환
c. new Date(dateString)
- Date 생성자 함수에 날짜와 시간을 나타내는 문자열을 인수로 전달하면 지정된 날짜와 시간을 나타내는 Date 객체반환
- 인수로 전달한 문자열은 Date.parse 메서드에 의해 해석 가능한 형식이어야함
d. new Date(year, month[, day, hour, minute, second, millisecond])
- Date 생성자 함수에 연, 월, 일, 시, 분, 초, 밀리초를 의미하는 숫자를 인수로 전달 시 지정된 날짜와 시간을 나타내는 Date 객체 반환
- 연월 반드시 지정해야하며 지정하지 않은 옵션 정보는 0또는 1로 초기화
- 연, 월 지정하지 않은 경우 UTC를 나타내는 Date 객체 반환
2. Date 메서드
a. Date.now
- UTC 기점으로 현재 시간까지 경과한 밀리초를 숫자로 반환
b. Date.parse
- UTC 기점으로 인수로 전달된 지정 시간(new Date(dateString)의 인수와 동일한 형식)까지의 밀리초를 숫자로 반환
c. Date.UTC
- UTC 기점으로 인수로 전달된 지정 시간까지의 밀리초를 숫자로 반환
- Date.UTC 메서드는 new Date 와 같은 형식의 인수 사용
- Date.UTC 메서드의 인수는 로컬 타임이 아닌 UTC로 인식
- month는 월을 의미하는 0~11까지의 정수이므로 주의
d. Date.prototype.getFullYear
- Date 객체의 연도를 나타내는 정수 반환
e. Date.prototype.setFullYear
- Date 객체에 연도를 나타내는 정수 설정
- 연도 이외에 옵션으로 월, 일 설정 가능
f. Date.prototype.getMonth
- Date 객체의 월을 나타내는 0~11의 정수 반환
g. Date.prototype.setMonth
- Date.UTC 객체에 월을 나타내는 0~11의 정수 설정
- 월 이외에 옵션으로 일도 설정 가능
h. Date.prototype.getDate
- Date 객체의 날짜(1~31)를 나타내는 정수 반환
i. Date.prototype.setDate
- Date 객체에 날짜를 나타내는 정수 설정
j. Date.prototype.getDay
- Date 객체의 요일(0~6)을 나타내는 정수 반환
- 일요일=0부터 ~토요일=6
k. Date.prototype.getHours
- Date 객체의 시간(0~23)을 나타내는 정수 반환
k. Date.prototype.setHours
- Date 객체에 시간(0~23)을 나타내는 정수 설정
- 시간 이외에 옵션으로 분, 초, 밀리초도 설정 가능
l. Date.prototype.getMinutes
- Date 객체의 분(0~59)을 나타내는 정수 반환
m. Date.prototype.setminutes
- Date 객체에 분(0~59)을 나타내는 정수 설정
- 분 이외에 옵션으로 초, 밀리초 설정 가능
n. Date.prototype.getSeconds
- Date 객체의 초(0~59)를 나타내는 정수 반환
o. Date.prototype.setSeconds
- Date 객체에 초(0~59)를 나타내는 정수 설정
- 초 이외에 옵션으로 밀리초 설정 가능
p. Date.prototype.getMilliseconds
- Date 객체의 밀리초(0~999)를 나타내는 정수 반환
r. Date.prototype.setMilliseconds
- Date 객체에 밀리초(0~999)를 나타내는 정수 설정
s.Date.prototype.getTime
- UTC 기점으로 Date 객체의 시간까지 경과된 밀리초 반환
t. Date.prototype.setTime
- Date 객체에 UTC 기점으로 경과된 밀리초 설정
u. Date.prototype.getTimezoneOffset
- UTC와 Date 객체에 지정된 로캘 시간과의 차이를 분 단위로 반환
- UTC= KST-9h
v. Date.prototype.toDateString
- 사람이 읽을 수 있는 형식의 문자열로 Date 객체의 날짜 반환
w. Date.prototype.toTimeString
- 사람이 읽을 수 있는 형식으로 Date 객체의 시간을 표현한 문자열 반환
x. Date.prototype.toISOString
- ISO 8601 형식으로 Date 객체의 날짜와 시간을 표현한 문자열 반환
y. Date.prototype.toLocaleString
- 인수로 전달한 로캘을 기준으로 Date 객체의 날짜와 시간을 표현한 문자열 반환
- 인수 생략 시 브라우저가 동작 중인 시스템의 로캘 적용
z. Date.prototype.toLocaleTimeString
- 인수로 전달한 로캘을 기준으로 Date 객체의 시간을 표현한 문자열 반환
- 인수를 생략한 경우 브라우저가 동작 중인 시스템의 로캘 적용
모던 자바스크립트 딥다이브를 정리한 내용입니다!!
728x90
'개념 정리 > 모던 자바스크립트 딥다이브' 카테고리의 다른 글
모던 자바스크립트 : String (1) | 2023.11.30 |
---|---|
모던 자바스크립트 : RegExp (1) | 2023.11.30 |
모던 자바스크립트 : Math (0) | 2023.11.29 |
모던 자바스크립트 : Number (1) | 2023.11.29 |
모던 자바스크립트 : 7번째 데이터 타입 symbol (1) | 2023.11.29 |