30. Date
- 표준 빌트인 객체 생성자 함수
- KST 한국 표준시: UTC 국제 표준시 + 9시간
30.1. Date 생성자 함수
- 내부적으로 날짜와 시간을 나타내는 정수값 가짐
30.1.1. new Date()
- 인수 없이 호출하면 현재 날짜와 시간을 갖는 Date 객체 반환
- 내부적으로는 정수값을 갖지만, 콘솔에서는 날짜와 시간 정보 출력
- Date(): 날짜와 시간 정보를 나타내는 문자열 반환
30.1.2. new Date(milliseconds)
- 숫자 밀리초를 전달하면 UTC(1970년 1월 1일 00:00:00)을 기점으로 밀리초만큼 경과한 날짜와 시간을 나타내는 Date 객체 반환
30.1.3. new Date(dataString)
- 날짜와 시간 문자열을 전달하면 지정된 날짜와 시간을 나타내는 Date 객체 반환
- 전달한 문자열은 Date.parse 메서드에 의해 해석 가능한 형식이어야 함
30.1.4. new Date(year, month[, day, hour, minute, second, millisecond])
- 숫자로 인수를 전달하면 지정된 날짜와 시간을 나타내는 Date 객체 반환
- 연, 월 필수 -> 지정하지 않는 경우 UTC Date 객체 반환
- 지정하지 않은 옵션은 0 또는 1로 초기화
- 인수
- year: 연, 1900년 이후의 정수 (0~99 = 1900~1999)
- month: 월, 0~11 (0 = 1월)
- day: 일, 1~31
- hour: 시, 0~23
- minute: 분, 0~59
- second: 초, 0~59
- millisecond: 밀리초, 0~999
- 가독성 고려하여 문자열 전달 권장
30.2. Date 메서드
30.2.1. Date.now
- UTC 기점으로 현재 시간까지 경과한 밀리초 숫자 반환
30.2.2. Date.parse
- UTC 기점으로 인수로 전달된 지정 시간(string)까지의 밀리초 숫자 반환
30.2.3. Date.UTC
- UTC 기점으로 인수로 전달된 지정 시간까지의 밀리초 숫자 반환
- new Date(year, month[, day, hour, minute, second, millisecond]) 형식 사용
30.2.4. Date.prototype.getFullYear
30.2.5. Date.prototype.setFullYear
30.2.6. Date.prototype.getMonth
- Date 객체의 월 정수 반환
- 1월 0부터 시작
30.2.7. Date.prototype.setMonth
30.2.8. Date.prototype.getDate
30.2.9. Date.prototype.setDate
30.2.10. Date.prototype.getDay
- Date 객체의 요일 정수 반환
- 0 일요일 ~ 6 토요일
30.2.11. Date.prototype.getHours
30.2.12. Date.prototype.setHours
- Date 객체의 시간 설정, 분/초/밀리초도 가능
30.2.13. Date.prototype.getMinutes
30.2.14. Date.prototype.setMinutes
30.2.15. Date.prototype.getSeconds
30.2.16. Date.prototype.setSeconds
30.2.17. Date.prototype.getMiliseconds
30.2.18. Date.prototype.setMiliseconds
30.2.19. Date.prototype.getTime
- UTC 기점으로 Date 객체 시간까지 경과된 밀리초 반환
30.2.20. Date.prototype.setTime
- Date 객체에 UTC 기점으로 시간까지 경과된 밀리초 설정
30.2.21. Date.prototype.getTimezoneOffset
- UTC와 Date 객체에 지정된 지역 시간과의 차이를 분 단위로 반환
- UTC = KST - 9h
30.2.22. Date.prototype.toDateString
30.2.23. Date.prototype.toTimeString
30.2.24. Date.prototype.toISOString
- ISO 8601 형식으로 Date 객체의 날짜와 시간 문자열 반환
30.2.25. Date.prototype.toLocalString
- 인수로 전달한 지역(locale) 기준으로 Date 객체의 날짜와 시간 문자열 반환
- 생략 시 브라우저 시스템 locale 적용
30.2.26. Date.prototype.toLocalTimeString
- 인수로 전달한 지역 기준으로 Date 객체의 시간 문자열 반환
- 생략 시 브라우저 시스템 locale 적용
30.3. Date를 활용한 시계 예제
[출처] 모던 자바스크립트, Deep Dive