웹 개발 메모장

[자바스크립트] Date() 기본 사용 방법 본문

옛날../자바스크립트

[자바스크립트] Date() 기본 사용 방법

도로롱주 2018. 5. 17. 17:42

 

 

 

 

Date() 기본 사용 방

 

 

 

Date 객체 생성

 

1
2
3
4
var date1 = new Date(); // 현재 날짜 및 시간
var date2 = new Date(1991,11,25,3,50); // 1991년 12월 25일 3:50:00 (월 +1 주의)
var date3 = new Date('2014-6-4'); // 2002년 1월 1일 09:00:00
var date4 = new Date('2012-05-17 10:20:30'); // 2012년 5월 17일 10:20:30
cs

 

 

 

get/set 기본 함수

 

get은 반환, set은 대입의 역할, 예를들어

var dt = new Date('2010-12-25'); 일때

dt.getDate(); 는 25 를 반환

dt.setDate(13); 은 dt 객체를 2010년 12월 13일로 변경

 

함수명 의미 설명
getFullYear() setFullYear() 년도
getMonth() setMonth() 0~11 > 1월~12월
getDate() setDate()
getDay() setDay() 요일 0~6 > 일요일 ~ 토요일
getHours() setHours() 시간
getMinutes() setMinutes()
getMilliseconds() setMilliseconds() 밀리초
getSeconds() setSeconds()
getTime() setTime() Unix 타임 1970/1/1 12:00 기준 경과한 밀리 초

 

 

날짜의 연산

 

연산 예시
오늘 var dt = new Date();
365일 뒤 dt.setDate(dt.getDate()+365);
1년 전 dt.setFullYear(dt.getFullYear()-1);

 

 

 

문자열로 변환 기본 함수

 

함수명 설명
toString() Thu May 17 2018 17:15:11 GMT+0900 (대한민국 표준시)
toDateString() Thu May 17 2018
toLocaleString() 2018. 5. 17. 오후 5:15:11
toLocaleDateString() 2018. 5. 17.

 

 

문자열로 변환 활용

 

"2018-5-17"

1
var str = dt.getFullYear()+'-'+(dt.getMonth()+1)+'-'+dt.getDate();
cs

 

"2018년 5월 17일"

1
var str1 = dt.getFullYear()+'년 '+(dt.getMonth()+1)+'월 '+dt.getDate()+'일';
cs

 

"5월 17일 (목)"

1
2
var arrDayStr = ['일','월','화','수','목','금','토'];
var str = (dt.getMonth()+1)+'월 '+dt.getDate()+'일 ('+arrDayStr[dt.getDay()]+')';
cs

 

 

연산 활용

 

다음과 같이 Date 클래스함수를 추가해 두면 날짜 간격을 편하게 구할 수 있습니다.

 

함수 정의

1
2
3
4
5
6
7
8
9
10
Date.prototype.getInterval = function (otherDate) {
    var interval;
 
    if(this > otherDate)
        interval = this.getTime() - otherDate.getTime();
    else
        interval = otherDate.getTime() - this.getTime();
 
    return Math.floor(interval / (1000*60*60*24));
}
cs

 

함수 호출 예시

1
2
3
var dt1 = new Date('2011-12-01');
var dt2 = new Date('2010-12-04');
var result_str = dt1.getInterval(dt2)+'일 차이납니다.';
cs

 

 

 

Comments