JavaScript 입문 | 표준 객체 | Date 메소드


Date.now() 메소드

Date.now() 메소드는 1970년 1월 1일 0시 0분 0초부터 현재까지의 시간을 밀리초(millisecond) 단위의 정수로 반환한다.

var nowMiliSec = Date.now();
nowMiliSec;           // 1970년 1월 1일 00:00:00부터 현재까지의 밀리초
new Date(nowMiliSec); // new Date()와 같은 결과를 반환함.
new Date();

Date.prototype getter 메소드

모든 Date 인스턴스는 Date.prototype으로부터 메소드와 프로퍼티를 상속받는다.

Date.prototype getter 메소드는 날짜와 관련된 정보를 받아오기 위한 메소드이다. 가장 많이 사용되는 대표적인 getter 메소드는 다음과 같다.

  1. getFullYear()
  2. getDate()
  3. getDay()
  4. getTime() getFullYear() 메소드

getFullYear() 메소드는 현재 연도를 4비트의 숫자(YYYY)로 반환한다.

var date = new Date();
document.write("올해는 " + date.getFullYear() + "년이다."); // 현재 연도를 반환함.

getDate() 메소드

getDate() 메소드는 현재 날짜에 해당하는 숫자를 반환한다.

var date = new Date();
document.write("오늘은 " + date.getMonth() + "월 " + date.getDate() + "일이다."); // 현재 날짜를 반환함.

getDay() 메소드

getDay() 메소드는 현재 요일에 해당하는 숫자를 반환한다.

자바스크립트에서 일주일은 일요일(0)부터 시작하여 토요일(6)로 끝난다.

var date = new Date();
var day;
switch (date.getDay()) { // 현재 요일을 반환함.
    case 0:
        day = "일";
        break;
    case 1:
        day = "월";
        break;
    ...
    case 6:
        day = "토";
        break;
}
document.write("오늘은 " + day + "요일이다.");

배열을 사용하면 더욱 간단하게 요일을 출력할 수 있다.

var date = new Date();
var days = ["일", "월", "화", "수", "목", "금", "토"];
document.write("오늘은 " + days[date.getDay()] + "요일이다.");

getTime() 메소드

getTime() 메소드는 1970년 1월 1일 0시 0분 0초부터 현재까지의 시간을 밀리초 단위로 환산한 값을 숫자로 반환한다.

var date = new Date();
var period = date.getTime() / 86400000 // 하루는 86,400,000 밀리초로 계산됨.
document.write("1970년 1월 1일부터 오늘까지 " + period.toFixed() + "일이 지났다."); // 소수 부분은 생략함.

자바스크립트 Date.prototype getter 메소드

메소드 설명 값의 범위
getDate() 현지 시각으로 현재 일자에 해당하는 숫자를 반환함. 1 ~ 31
getDay() 현지 시각으로 현재 요일에 해당하는 숫자를 반환함. 0 ~ 6
getMonth() 현지 시각으로 현재 월에 해당하는 숫자를 반환함. 0 ~ 11
getFullYear() 현지 시각으로 현재 연도를 4비트의 숫자(YYYY)로 반환함. YYYY
getHours() 현지 시각으로 현재 시각에 해당하는 숫자를 반환함. 0 ~ 23
getMilliseconds() 현지 시각으로 현재 시각의 밀리초에 해당하는 숫자를 반환함. 0 ~ 999
getMinutes() 현지 시각으로 현재 시각의 분에 해당하는 숫자를 반환함. 0 ~ 59
getSeconds() 현지 시각으로 현재 시각의 초에 해당하는 숫자를 반환함. 0 ~ 59
getTime() 1970년 1월 1일 0시 0분 0초부터 현재까지의 시간을 밀리초 단위로 환산한 값을 숫자로 반환함. -
getTimezoneOffset() UTC로부터 현재 시각까지의 시간차를 분 단위로 환산한 값을 숫자로 반환함. -

자바스크립트 Date.prototype UTC getter 메소드

메소드 설명
getUTCDate() 협정세계시(UTC)로 현재 일자에 해당하는 숫자를 반환함.
getUTCDay() 협정세계시(UTC)로 현재 요일에 해당하는 숫자를 반환함.
getUTCMonth() 협정세계시(UTC)로 현재 월에 해당하는 숫자를 반환함.
getUTCFullYear() 협정세계시(UTC)로 현재 연도를 4비트의 숫자(YYYY)로 반환함.
getUTCHours() 협정세계시(UTC)로 현재 시각에 해당하는 숫자를 반환함.
getUTCMilliseconds() 협정세계시(UTC)로 현재 시각의 밀리초에 해당하는 숫자를 반환함.
getUTCMinutes() 협정세계시(UTC)로 현재 시각의 분에 해당하는 숫자를 반환함.
getUTCSeconds() 협정세계시(UTC)로 현재 시각의 초에 해당하는 숫자를 반환함.

Date.prototype setter 메소드

Date.prototype setter 메소드는 날짜와 관련된 정보를 설정하기 위한 메소드이다. 가장 많이 사용되는 대표적인 setter 메소드는 다음과 같다.

  1. setFullYear()
  2. setDate() setFullYear() 메소드

setFullYear() 메소드는 Date 객체의 값을 특정 날짜로 설정한다.

var date = new Date();
date.setFullYear(1982, 1, 19); // 자바스크립트에서 2월은 1임.
date.getFullYear();            // 1982
date.getMonth();               // 1
date.getDate();                // 19

setDate() 메소드

setDate() 메소드는 Date 객체의 일자 값을 특정 일자로 설정한다.

var date = new Date();
date.setDate(10);              // Date 객체의 일자 값을 10일로 설정함.
document.write(date + "<br>");
date.setDate(40);              // 40일을 설정하면, 초과되는 일수만큼 다음달로 넘어감.
document.write(date);

자바스크립트 Date.prototype setter 메소드

메소드 설명 값의 범위
setDate() 현지 시각으로 특정 일자를 설정함. 1 ~ 31
setMonth() 현지 시각으로 특정 월을 설정함. 0 ~ 11
setFullYear() 현지 시각으로 특정 연도를 설정함. (연도뿐만 아니라 월과 일자도 설정할 수 있음) YYYY, MM, DD
setHours() 현지 시각으로 특정 시간을 설정함. 0 ~ 23
setMilliseconds() 현지 시각으로 특정 밀리초를 설정함. 0 ~ 999
setMinutes() 현지 시각으로 특정 분을 설정함. 0 ~ 59
setSeconds() 현지 시각으로 특정 초를 설정함. 0 ~ 59
setTime() 1970년 1월 1일 0시 0분 0초부터 밀리초 단위로 표현되는 특정 시간을 설정함. -

자바스크립트에서 setDay() 메소드는 존재하지 않는다.

자바스크립트 Date.prototype UTC setter 메소드

메소드 설명 값의 범위
setUTCDate() 협정세계시(UTC)로 특정 일자를 설정함. 1 ~ 31
setUTCMonth() 협정세계시(UTC)로 특정 월을 설정함. 0 ~ 11
setUTCFullYear() 협정세계시(UTC)로 특정 연도를 설정함. (연도뿐만 아니라 월과 일자도 설정할 수 있음) YYYY, MM, DD
setUTCHours() 협정세계시(UTC)로 특정 시간을 설정함. 0 ~ 23
setUTCMilliseconds() 협정세계시(UTC)로 특정 밀리초를 설정함. 0 ~ 999
setUTCMinutes() 협정세계시(UTC)로 특정 분을 설정함. 0 ~ 59
setUTCSeconds() 협정세계시(UTC)로 특정 초를 설정함. 0 ~ 59