Date 객체
날짜와 시간을 다루는 객체입니다.
생성자
new Date()
기본 생성자로 현재 시간에 대한 날짜 객체를 반환합니다.
new 키워드 없이 Date() 함수로 실행시키는 경우 무조건 현재 시간을 반환합니다.
1 |
var date = new Date(); //Mon Jan 02 2017 20:20:16 GMT+0900 (대한민국 표준시) |
cs |
new Date(milliseconds)
1970년 1월 1일 자정(UTC) 에서 milliseconds 지난 만큼의 날짜에 대한 객체를 반환합니다.
한국의 경우 UTC 에서 9시간을 더해야 하므로 1970년 1월 1일 09시 00분에서 시작합니다.
1 |
var date = new Date(60000); //Thu Jan 01 1970 09:01:00 GMT+0900 (대한민국 표준시) //60000은 60초이므로 1분 추가 |
cs |
new Date(날짜 문자열)
날짜 형식 문자열을 지원합니다.
1
2 |
var date = new Date('2016-12-01'); //Thu Dec 01 2016 09:00:00 GMT+0900 (대한민국 표준시)
var date = new Date('2017-01-02 07:30:24'); //Mon Jan 02 2017 07:30:24 GMT+0900 (대한민국 표준시) |
cs |
new Date(년, 월, 일, 시, 분, 초, 밀리초)
년, 월, 일, 시, 분, 초를 입력합니다.
이 때 년, 월까지는 필수이고 나머지는 생략이 가능합니다.
월의 경우 특이하게 월 - 1을 해야합니다. (예를들어 2016년 1월을 표현하고 싶은 경우 new Date(2016, 0)으로 생성);
1
2
3 |
var date = new Date(2016, 0); //Fri Jan 01 2016 00:00:00 GMT+0900 (대한민국 표준시)
var date = new Date(2016, 3, 5); //Tue Apr 05 2016 00:00:00 GMT+0900 (대한민국 표준시)
var date = new Date(2016, 3, 5, 11, 20); //Tue Apr 05 2016 11:20:00 GMT+0900 (대한민국 표준시) |
cs |
메서드
getDate()
연월일 중 일 반환
1
2 |
var date = new Date('2017-01-02');
date.getDate(); //2 |
cs |
getYear()
연월일 중 연 반환
이때 주의할 점은 현재 객체가 가진 연도 - 1900을 반환하고 동작이 브라우저마다 다를 수 있습니다.
1
2 |
var date = new Date('2017-01-02');
date.getYear(); //117 |
cs |
getFullYear()
연월일 중 연 반환
getYear() 대신 getFullYear()를 사용할것을 권장합니다.
1
2 |
var date = new Date('2017-01-02');
date.getFullYear(); //2017 |
cs |
getMonth()
연월일 중 월 반환
주의할 점은 월 - 1 하여 반환됩니다.
2월일 경우 1 반환
1
2 |
var date = new Date('2017-01-02');
date.getMonth(); //0 |
cs |
getHours()
연월일시분초 중 시간을 반환
1
2 |
var date = new Date('2017-01-02 07:30:24');
date.getHours(); //7 |
cs |
getMinutes()
연월일시분초 중 분을 반환
1
2 |
var date = new Date('2017-01-02 07:30:24');
date.getMinutes(); //30 |
cs |
getSeconds()
연월일시분초 중 초를 반환
1
2 |
var date = new Date('2017-01-02 07:30:24');
date.getSeconds(); //24 |
cs |
getTime()
1970년 1월 1일 자정(UTC 기준) 또는 우리나라 기준 1970년 1월 1일 09:00 으로 부터 몇 밀리초가 지났는지
밀리초를 반환합니다.
1
2
3
4
5
6
7
8 |
var date = new Date('2017-01-02 07:30:24');
var startTime = date.getTime(); //1483309824000
var date2 = new Date('2017-01-02 09:30:24');
var endTime = date2.getTime(); //1483317024000
var interval = endTime - startTime; //7200000 시작시간과 끝 시간의 차이 7200000밀리초
var difHours = interval / (1000 * 60 * 60) // 2 (2시간 차이) |
cs |
getTimezoneOffset()
현재 브라우저가 속해있는 나라와 UTC 시간의 차이를 분단위로 나타냅니다.
UTC는 우리나라보다 9시간 빠르므로 -540(분)반환되며 메서드가 실행되는 나라별로 다릅니다.
1
2 |
var date = new Date('2017-01-02 07:30:24');
date.getTimezoneOffset(); //-540 |
cs |
setDate()
연월일 중 일 을 설정하고 밀리초로 반환
1
2
3
4 |
var date = new Date('2016-01-01');
date.setDate(5); //1451952000000 반환함 실제 date 객체 날짜 값은 변경됨
alert(date); //Tue Jan 05 2016 09:00:00 GMT+0900 (대한민국 표준시) |
cs |
또는
1
2
3
4 |
var date = new Date('2016-01-01');
var milli = date.setDate(5); //1451952000000
var setDate = new Date(milli); //Tue Jan 05 2016 09:00:00 GMT+0900 (대한민국 표준시) |
cs |
날짜 추가하기
setMonth(), setYear(), setFullYear(), setHours(), setMinutes(), setSeconds() 모두 setDate()와 동일합니다.
1
2
3
4 |
var date = new Date('2016-01-01');
date.setDate(date.getDate() + 5); //1451952000000 반환함 실제 date 객체 날짜 값은 변경됨
alert(date); //Wed Jan 06 2016 09:00:00 GMT+0900 (대한민국 표준시) |
cs |
'JavaScript' 카테고리의 다른 글
[자바스크립트] DOM 노드 ID, 태그명, name 속성으로 탐색하기 (0) | 2018.05.31 |
---|---|
[자바스크립트] DOM이란? DOM 개념 및 자바스크립트 DOM 다루기 (0) | 2018.05.31 |
[자바스크립트] Number 객체 (0) | 2017.11.13 |
[자바스크립트] Infinity 와 NaN (0) | 2017.11.13 |
[자바스크립트] String 객체 (0) | 2017.11.12 |