- Date 객체는 날짜와 시간(년, 월, 일, 시, 분, 초, 밀리초)을 위한 메소드를 제공하는 빌트인 객체이면서 생성자 함수이다.
- Date 생성자 함수로 생성한 Date 객체는 내부적으로 숫자값을 갖는다. 이 값은 1970년 1월 1일 00:00(UTC)을 기점으로 현재 시간까지의 밀리초를 나타낸다.
- UTC(협정 세계시)는 GMT(그리니치 평균시)로 불리기도 하는데 초의 소수점 단위에서만 차이가 나기 때문에 일상에서는 혼용되어 사용된다. 기술적인 표기에서는 UTC가 사용된다.
- KST(korea Standard Time)는 UTC/GMT에 9시간을 더한 시간이다. 즉, KST는 UTC/GMT보다 9시간이 빠르다.
예를 들어, UTC 00:00AM은 KST 09:00 AM이다.
1.Date Constructor
1. new Date()
- 인수를 전달하지 않으면 현재 날짜와 시간을 가지는 인스턴스를 반환한다.

2. new Date(milliseconds)
- 인수로 숫자 타입의 밀리초를 전달하면 1970년 1월 1일 00:00(UTC)을 기점으로 인수로 전달된 밀리초만큼 경과한 날짜와 시간을 가지는 인스턴스를 반환한다.

3. new Date(dateString)
- 인수로 날짜와 시간을 나타내는 문자열을 전달하면 지정된 날짜와 시간을 가지는 인스턴스를 반환한다.
이때 인수로 전달한 문자열은 Date.parse 메소드에 의해 해석 가능한 형식이어야 한다.

4. new Date(year, month[,day,hour,minute,second,millisecond])
- 인수로 년, 월, 일, 시, 분, 초, 밀리초를 의미하는 숫자를 전달하면 지정된 날짜와 시간을 가지는 인스턴스를 반환한다.
이때 년, 월은 반드시 시정하여야 한다. 지정하지 않은 옵션 정보는 0 또는 1로 초기화 된다.
| 인수 | 내용 |
| year | 1900년 이후의 년 |
| month | 월을 나타내는 0 ~ 11까지의 정수 (주의: 0부터 시작, 0 = 1월) |
| day | 일을 나타내는 1 ~ 31까지의 정수 |
| hour | 시를 나타내는 0 ~ 23까지의 정수 |
| minute | 분을 나타내는 0 ~ 59까지의 정수 |
| second | 초를 나타내는 0 ~ 59까지의 정수 |
| millisecond | 밀리초를 나타내는 0 ~ 999까지의 정수 |

2. Date 메소드
2.1 Date.now
- 1970년 1월 1일 00:00:00(UTC)을 기점으로 현재 시간까지 경과한 밀리초를 숫자로 반환한다.
2.2 Date.parse
- 1970년 1월 1일 00:00:00(UTC)을 기점으로 전달된 지정 시간(new Date(dateString)의 인수와 동일한 형식)까지의 밀리초를 숫자로 반환한다.

2.3 Date.UTC
- 1970년 1월 1일 00:00:00(UTC)을 기점으 인수로 전달된 지정 시간까지의 밀리초를 숫자로 반환한다.
- Date.UTC 메소드는 new Date(year, month[,day,hour,minute,second,millisecond])와 같은 형식의 인수를 사용해야 한다.
- Date.UTC 메소드의 인수는 local time(KST)가 아닌 UTC로 인식된다.

2.4 Date.prototype.getFullYear
- 년도를 나타내는 4자리 숫자를 반환한다.
2.5 Date.prototype.setFullYear
- 년도를 나타내는 4자리 숫자를 설정한다. 년도 이외 월, 일도 설정할 수 있다.
2.6 Date.prototype.getMonth
- 월을 나타내는 0~11의 정수를 반환한다.
2.7 Date.prototype.setMonth
- 월을 나타내는 0~11의 정수를 설정한다. 월 이외 일도 설정할 수 있다.
2.8 Date.prototype.getDate
- 날짜(1~31)를 나타내는 정수를 반환한다.
2.9 Date.prototype.setDate
- 날짜(1~31)를 나타내는 정수를 설정한다.
2.10 Date.prototype.getDay
- 요일(0~6)를 나타내는 정수를 반환한다. 0:일요일 ~ 6:토요일
2.11 Date.prototype.getHours
- 시간(0~23)를 나타내는 정수를 반환한다.
2.12 Date.prototype.setHours
- 시간(0~23)를 나타내는 정수를 설정한다. 시간 이외의 분, 초, 밀리초도 설정할 수 있다.
2.13 Date.prototype.getMinutes
- 분(0~59)를 나타내는 정수를 반환한다.
2.14 Date.prototype.setMinutes
- 분(0~59)를 나타내는 정수를 설정한다. 분 이외 초, 밀리초도 설정할 수 있다.
2.15 Date.prototype.getSeconds
- 초(0~59)를 나타내는 정수를 반환한다.
2.16 Date.prototype.setSeconds
- 초(0~59)를 나타내는 정수를 설정한다. 초 이외 밀리초도 설정할 수 있다.
2.17 Date.prototype.getMilliseconds
- 밀리초(0~999)를 나타내는 정수를 반환한다.
2.18 Date.prototype.setMilliseconds
- 밀리초(0~999)를 나타내는 정수를 설정한다.
2.19 Date.prototype.getTime
- 1970년 1월 1일 00:00:00(UTC)를 기점으로 현재 시간까지 경과된 밀리초를 반환한다.
2.20 Date.prototype.setTime
- 1970년 1월 1일 00:00:00(UTC)를 기점으로 현재 시간까지 경과된 밀리초를 설정한다.
2.21 Date.prototype.getTimezoneOffset
- UTC와 지정 로케일(Locale) 시간과의 차이를 분단위로 반환한다.
- KST는 UTC에 9시간을 더한 시간이다 즉, UTC - KST - 9h이다.

2.22 Date.prototype.toDateString
- 사람이 읽을 수 있는 형식의 문자열로 날짜를 반환한다.

2.23 Date.prototype.toTimeString
- 사람이 읽을 수 있는 형식의 문자열로 시간를 반환한다.

'JavaScript' 카테고리의 다른 글
| [PoiemaWeb] 배열 (0) | 2023.03.23 |
|---|---|
| [PoiemaWeb] String 레퍼 객체 (0) | 2023.03.22 |
| [PoiemaWeb] Math (0) | 2023.03.22 |
| [PoiemaWeb] 클로저 (0) | 2023.03.21 |
| [PoiemaWeb] this (0) | 2023.03.15 |