-
Notifications
You must be signed in to change notification settings - Fork 42
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
142 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,142 @@ | ||
## 30장 `Date` | ||
|
||
표준 빌트인 객체인 `Date`는 날짜와 시간을 위한 메서드를 제공하는 빌트인 객체이면서 생성자 함수다. | ||
|
||
### 📍 30.1: `Date` 생성자 함수 | ||
|
||
`Date` 생성자 함수로 생성한 `Date` 객체는 내부적으로 날짜와 시간을 나타내는 정수값을 갖는다. | ||
이 값은 **1970년 1월 1일 00:00:00(UTC)을 기점으로 `Date` 객체가 나타내는 날짜와 시간까지의 밀리초**를 나타낸다. | ||
예를 들어, 1970년 1월 2일 0시를 나타내는 `Date` 객체는 내부적으로 정수값 86,400,000(24h _ 60m _ 60s \* 1000ms)을 갖는다. | ||
|
||
`Date` 생성자 함수로 객체를 생성하는 방법은 다음과 같이 4가지가 있다. | ||
|
||
#### 1. `new Date()` | ||
|
||
인수 없이 `new` 연산자와 함께 호출하면 현재 날짜와 시간을 가지는 `Date` 객체를 반환한다. | ||
`new` 연산자 없이 호출하면 `Date` 객체를 반환하지 않고 날짜와 시간 정보를 나타내는 문자열을 반환한다. | ||
|
||
#### 2. `new Date(milliseconds)` | ||
|
||
숫자 타입의 밀리초를 인수로 전달하면 1970년 1월 1일 00:00:00(UTC)을 기점으로 인수로 전달된 밀리초만큼 경과한 날짜와 시간을 나타내는 `Date` 객체를 반환한다. | ||
|
||
#### 3. `new Date(dateString)` | ||
|
||
인수로 날짜와 시간을 나타내는 문자열을 전달하면 지정된 날짜와 시간을 나타내는 `Date` 객체를 반환한다. | ||
이때 인수로 전달한 문자열은 `Date.parse` 메서드에 의해 해석 가능한 형식이어야 한다. | ||
|
||
#### 4. `new Date(year, month, [, day, hour, minute, second, millisecond])` | ||
|
||
연, 월, 일, 시, 분, 초, 밀리초를 의미하는 숫자를 인수로 전달하면 지정된 날짜와 시간을 나타내는 `Date` 객체를 반환한다. | ||
연, 월은 반드시 지정해야 하며 지정하지 않은 경우 1970년 1월 1일 00:00:00(UTC)을 나타내는 `Date` 객체를 반환한다. | ||
|
||
### 📍 30.2: `Date` 메서드 | ||
|
||
#### 1. `Date.now()` | ||
|
||
현재 시간까지 경과한 밀리초를 숫자로 반환한다. | ||
|
||
#### 2. `Date.parse` | ||
|
||
`dateString` 인수로 전달된 시간까지의 밀리초를 숫자로 반환한다. | ||
|
||
#### 3. `Date.UTC` | ||
|
||
#### 4. `Date.getFullYear` | ||
|
||
`Date` 객체의 연도를 나타내는 정수를 반환한다. | ||
|
||
#### 5. `Date.setFullYear` | ||
|
||
#### 6. `Date.prototype.getMonth` | ||
|
||
1월은 0, 12월은 11이다. | ||
|
||
#### 7. `Date.prototype.setMonth` | ||
|
||
#### 8. `Date.prototype.getDate` | ||
|
||
`Date` 객체의 날짜(1 ~ 31)를 나타내는 정수를 반환한다. | ||
|
||
#### 9. `Date.prototype.setDate` | ||
|
||
#### 10. `Date.prototype.getDay` | ||
|
||
`Date` 객체의 요일을 나타내는 정수를 반환한다. (일요일 0 ~ 토요일 6) | ||
|
||
#### 11. `Date.prototype.getHours` | ||
|
||
#### 12. `Date.prototype.setHours` | ||
|
||
#### 13. `Date.prototype.getMinutes` | ||
|
||
#### 14. `Date.prototype.setMinutes` | ||
|
||
#### 15. `Date.prototype.getSeconds` | ||
|
||
#### 16. `Date.prototype.setSeconds` | ||
|
||
#### 17. `Date.prototype.getMilliseconds` | ||
|
||
#### 18. `Date.prototype.setMilliseconds` | ||
|
||
#### 19. `Date.prototype.getTime` | ||
|
||
1970년 1월 1일 00:00:00(UTC)를 기점으로 `Date` 객체의 시간까지 경과된 밀리초를 반환한다. | ||
|
||
#### 20. `Date.prototype.setTime` | ||
|
||
#### 21. `Date.prototype.getTimezoneOffset` | ||
|
||
UTC와 `Date` 객체에 지정된 locale 시간과의 차이를 분 단위로 반환한다. | ||
|
||
```javascript | ||
const today = new Date(); // today의 지정 locale은 KST | ||
|
||
today.getTimezoneOffset() / 60; // -9 | ||
``` | ||
|
||
#### 22. `Date.prototype.toDateString` | ||
|
||
사람이 읽을 수 있는 형식의 문자열로 `Date` 객체의 날짜를 반환한다. | ||
|
||
```javascript | ||
const today = new Date('2020/7/24/12:30'); | ||
|
||
today.toString(); // Fri Jul 24 2020 12:30:00 GMT+0900 (대한민국 표준시) | ||
today.toDateString(); // Fri Jul 24 2020 | ||
``` | ||
|
||
#### 23. `Date.prototype.toTimeString` | ||
|
||
사람이 읽을 수 있는 형식의 문자열로 `Date` 객체의 시간을 반환한다. | ||
|
||
```javascript | ||
const today = new Date('2020/7/24/12:30'); | ||
|
||
today.toTimeString(); // 12:30:00 GMT+0900 (대한민국 표준시) | ||
``` | ||
|
||
#### 24. `Date.prototype.toISOString` | ||
|
||
ISO 8601 형식으로 `Date` 객체의 날짜와 시간을 표현한 문자열을 반환한다. | ||
|
||
```javascript | ||
const today = new Date('2020/7/24/12:30'); | ||
|
||
today.toISOString(); // 2020-07-24T03:30:00.000Z | ||
``` | ||
|
||
#### 25. `Date.prototype.toLocaleString` | ||
|
||
인수로 전달한 locale을 기준으로 `Date` 객체의 날짜와 시간을 표현한 문자열을 반환한다. | ||
|
||
```javascript | ||
const today = new Date('2020/7/24/12:30'); | ||
|
||
today.toLocaleString('ko-KR'); // 2020. 7. 24. 오후 12:30:00 | ||
today.toLocaleString('en-US'); // 7/24/2020, 12:30:00 PM | ||
``` | ||
|
||
#### 26. `Date.prototype.toLocaleTimeString` | ||
|
||
인수로 전달한 locale을 기준으로 `Date` 객체의 시간을 표현한 문자열을 반환한다. |