JavaScript Date 객체


Date 생성자

자바스크립트에서는 Date 객체를 이용해 날짜와 시간을 표현할 수 있습니다. Date 객체는 Date 생성자를 이용해 생성합니다.

날짜 (Date)

/* 날짜 객체 생성 */
var now = new Date();
now  //-> Fri Dec 16 2017 17:08:10 GMT 

위 코드가 실행되면 실행된 시점의 날짜와 시간 정보를 담은 객체가 생성되어 변수에 저장됩니다. 변수를 실행해 보면 객체가 생성된 시점의 시간 정보를 확인할 수 있습니다.

Date 생성자의 인수로 날짜와 시간 정보를 전달하면 해당 날짜를 가르키는 객체를 생성할 수 있습니다.

단, 자바스크립트에서 1월은 0부터 시작하므로 아래 예제와 같이 월을 입력할 경우에 유의해야 합니다.

// 특정 날짜에 해당하는 객체 생성
var halloween = new Date(2017, 9, 31);  // 10월 31일

Date 객체의 메서드

Date 객체에는 날짜와 시간을 다루기 위해 다양한 메서드를 제공합니다.

var today = new Date();

// 연도
var year    = today.getFullYear()  // 2018

// 월 (0부터 시작)
var month   = today.getMonth()     // 0~11

// 일
var date    = today.getDate()      // 1~31

// 요일 (일요일부터 0으로 시작)
var weekday = today.getDay()       // 0~6

// 시간
var hours   = today.getHours()     // 0~23

// 분
var minutes = today.getminutes()   // 0~59

// 초
var seconds = today.getSeconds()   // 0~59

// 밀리초
var milli   = today.getMilliseconds()  // 0~999

// 날짜와 시간을 문자열로 표시
today.toString();  // 'Thu Oct 25 2018 17:00:22 GMT  (대한민국 표준시)'

// 현지화된 날짜와 시간 표현법을 사용하여 문자열로 표시
today.toLocaleString();  // '2018-10-25 17:00:22'

// 1970.01.01.00:00:00 기점으로 객체에 저장된 시간까지의 밀리초 리턴
today.getTime()  // 1540404422679

// 1970.01.01.00:00:00 기점으로 현재 시간까지의 밀리초 리턴
Date.now()  // 1540404422679

해당 월의 총일수 구하기

자바스크립트의 Date 객체를 이용해 해당하는 월의 총일수를 구하는 방법입니다. 즉, 해당하는 달이 30일까지인지 31일 까지인지 알 수 있는 방법이죠.

// 당월 총 일수 구하기
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth();
var m_length = 32 - new Date(year, month, 32).getDate();
console.log(m_length);  // 30 or 31

구하고자 하는 달의 날짜에 32를 대입하게 되면 달이 바뀌게 됩니다. 만약 해당하는 달이 31일 까지 있다면 결과는 32 - 31인 1이 되겠죠. 이 값에서 32를 빼게되면 원하는 결과값인 31을 얻게됩니다.