📕🐘 도로락 - 코끼리를 냉장고에 넣는 방법
JavaScript | 2017. 11. 13. 23:30

[자바스크립트] Date 객체

Date 객체

날짜와 시간을 다루는 객체입니다.

생성자

new Date()

기본 생성자로 현재 시간에 대한 날짜 객체를 반환합니다.

new 키워드 없이 Date() 함수로 실행시키는 경우 무조건 현재 시간을 반환합니다.

var date = new Date(); //Mon Jan 02 2017 20:20:16 GMT+0900 (대한민국 표준시)

new Date(milliseconds)

1970년 1월 1일 자정(UTC) 에서 milliseconds 지난 만큼의 날짜에 대한 객체를 반환합니다.

한국의 경우 UTC 에서 9시간을 더해야 하므로 1970년 1월 1일 09시 00분에서 시작합니다.

var date = new Date(60000); //Thu Jan 01 1970 09:01:00 GMT+0900 (대한민국 표준시) //60000은 60초이므로 1분 추가

new Date(날짜 문자열)

날짜 형식 문자열을 지원합니다.

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 (대한민국 표준시)

new Date(년, 월, 일, 시, 분, 초, 밀리초)

년, 월, 일, 시, 분, 초를 입력합니다.

이 때 년, 월까지는 필수이고 나머지는 생략이 가능합니다.

월의 경우 특이하게 월 - 1을 해야합니다. (예를들어 2016년 1월을 표현하고 싶은 경우 new Date(2016, 0)으로 생성)

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 (대한민국 표준시)

메서드

getDate()

연월일 중 반환

var date = new Date('2017-01-02');
date.getDate(); //2

getYear()

연월일 중 반환

이때 주의할 점은 현재 객체가 가진 연도 - 1900을 반환하고 동작이 브라우저마다 다를 수 있습니다.

var date = new Date('2017-01-02');
date.getYear(); //117

getFullYear()

연월일 중 반환

getYear() 대신 getFullYear()를 사용할것을 권장합니다.

var date = new Date('2017-01-02');
date.getFullYear(); //2017

getMonth()

연월일 중 반환

주의할 점은 월 - 1 하여 반환됩니다.

2월일 경우 1 반환

var date = new Date('2017-01-02');
date.getMonth(); //0

getHours()

연월일시분초 중 시간을 반환

var date = new Date('2017-01-02 07:30:24');
date.getHours(); //7

getMinutes()

연월일시분초 중 분을 반환

var date = new Date('2017-01-02 07:30:24');
date.getMinutes(); //30

getSeconds()

연월일시분초 중 초를 반환

var date = new Date('2017-01-02 07:30:24');
date.getSeconds(); //24

getTime()

1970년 1월 1일 자정(UTC 기준) 또는 우리나라 기준 1970년 1월 1일 09:00 으로 부터 몇 밀리초가 지났는지 밀리초를 반환합니다.

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시간 차이)

getTimezoneOffset()

현재 브라우저가 속해있는 나라와 UTC 시간의 차이를 분단위로 나타냅니다.

UTC는 우리나라보다 9시간 빠르므로 -540(분) 반환되며 메서드가 실행되는 나라별로 다릅니다.

var date = new Date('2017-01-02 07:30:24');
date.getTimezoneOffset(); //-540

setDate()

연월일 중 을 설정하고 밀리초로 반환

var date = new Date('2016-01-01');
date.setDate(5); //1451952000000 반환함 실제 date 객체 날짜 값은 변경됨

alert(date); //Tue Jan 05 2016 09:00:00 GMT+0900 (대한민국 표준시)

또는

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 (대한민국 표준시)

날짜 추가하기

setMonth(), setYear(), setFullYear(), setHours(), setMinutes(), setSeconds() 모두 setDate()와 동일합니다.

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 (대한민국 표준시)
도로락

도로락

Writer

IT, 프로그래밍, 컴퓨터 활용 정보 등을 위한 블로그