Search
Duplicate

Date 오브젝트

1. Date 오브젝트 개요, 시간값 표시 기준, 시간의 문자열 형태

Date 오브젝트 개요

년월일, 시분초, 밀리초(Millisecond)를 제공합니다
시간값(Time Value)이라고 부릅니다.
UTC(Universal Time Coordinated)기준입니다.
1970년 1월 1일 기준으로 밀리초를 제공하며 남는 초는 무시합니다.
1970.01.01 0시 기준 전후 100,000,000(1억)일 지원합니다.
UTC와 GMT(Greenwich Mean Time
JS는 UTC 기준입니다.

시간값 표시 기준

월은 0부터 시작
0: 1월, 1: 2월, 11: 12월
일은 1에서 31일까지 정수로 표시
요일은 0부터 시작
0: 일요일, 1: 월요일, 6: 토요일
var obj = new Date(1970, 1, 1, 1, 1, 1, 1); console.log(obj.toLocaleString());//1970. 2. 1. 오전 1:01:01
JavaScript
복사

시간의 문자열 형태

2. 프로퍼티 리스트, Date 인스턴스 생성, Date오브젝트 함수 분류

프로퍼티 리스트

new Date() : 인스턴스 생성

Date 함수

Date() : 현재 시각 반환
Date.parse() : 문자열 값을 밀리초로 변환
Date.UTC() : UTC기준 밀리초로 변환
Date.now() : 현재 시각을 밀리초로 변환

Date.prototype

constructor : 생성자
toString() : 일자와 시간을 변환해서 문자열로 반환
toUTCString() : UTC 일자와 시간 반환
toISOString() : ISO 8610 확장 형식의 간소화 버전 형태로 일자와 시간을 반환합니다.
toDateString() : 연월일과 요일을 사람이 읽기 쉬운 형태로 반환
toTimeString() : 시분초와 타임존을 사람이 읽기 쉬운 형태로 반환
toLocaleString() : 일자와 시간을 지역언어로 반환
toLocaleDateString() : 연월일을 지역 언어로 반환
toLocaleTimeString() : 시분초와 오전/오후를 지역 언어로 반환
toJSON() : JSON.stringify() 와 연동하여 JSON형태의 일자, 시간 설정

get 프로퍼티 리스트

set 프로퍼티 리스트

new Date()

new Date(); new Date(value); new Date(dateString); new Date(year, monthIndex[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);
매개변수
⇒ Date() 생성자는 네 가지 형태로 사용할 수 있습니다.
매개변수 없음
⇒ 현재 시간으로 생성 순간의 날짜와 시간을 나타내는 Date 객체를 생성합니다.
유닉스 타임스탬프(value)
⇒1970년 1월 1일 00:00:00 UTC 부터의 시간을 밀리초 단위로 표시한 정수값을 기준으로 날짜와 시간을 나타내는 Date객체를 생성합니다. 대부분의 유닉스 타임스탬프 함수는 초 단위까지만 정확합니다.
타임스탬프 문자열(dateString)
⇒날짜를 표현하는 문자열값. Date.parse() 메서드가 인식할수 있는 형식이어야 합니다.
개별 날짜 및 시간 구성 요소
year: 연도를 나타내는 정수값으로 0~99는 1900부터 1999로 처리합니다.
monthIndex: 월을 나타내는 정수값으로 0은 1월을 나타냅니다.
day(optional): 일을 나타내는 정수값으로 기본값은 1입니다.
hours(optional): 시를 나타내는 정수값으로 기본값은 0분입니다.
minutes(optional): 분을 나타내는 정수값으로 기본값은 0분입니다.
seconds(optional): 초를 나타내는 정수값으로 기본값은 0초입니다.
milliseconds(optional): 밀리초를 나타내는 정수값으로 기본값은 0밀리초입니다.
Date 인스턴스를 생성해줍니다.
파라미터 값을 인스턴스의 primitive 값으로 설정합니다.
시간 자동 넘김
console.log(new Date(2019, 11, 34));//Fri Jan 03 2020 00:00:00 GMT+0900 (대한민국 표준시)
JavaScript
복사
⇒월일시분초 범위를 넘치면 상위 시간값에 반영이 됩니다.
→ 단, 문자열로 작성하면 에러가 발생합니다.
1.
위의 new Date(2019, 11, 34)에서 34가 31을 넘치기에 3을 남겨두고 11에 1을 더합니다.
2.
11은 12월이기에 12는 13월이 되므로 1을 남겨두고 2019에 1을 더합니다.
3.
최종 값은 2020.01.03이 됩니다.