내 React프로젝트에 2주간 달력을 JS로 개발해 보기위해 날짜를 얻을수있는 Date객체를 공부했었다.
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
get은 반환, set은 대입의 역할, 예를들어
var dt = new Date('2010-12-25'); 일때
dt.getDate(); 는 25 를 반환
dt.setDate(13); 은 dt 객체를 2010년 12월 13일로 변경
"2018-5-17"
var str = dt.getFullYear()+'-'+(dt.getMonth()+1)+'-'+dt.getDate();
"2018년 5월 17일"
var str1 = dt.getFullYear()+'년 '+(dt.getMonth()+1)+'월 '+dt.getDate()+'일';
"5월 17일 (목)"
var arrDayStr = ['일','월','화','수','목','금','토'];
var str = (dt.getMonth()+1)+'월 '+dt.getDate()+'일 ('+arrDayStr[dt.getDay()]+')';
다음과 같이 Date 클래스에 함수를 추가해 두면 날짜 간격을 편하게 구할 수 있습니다.
함수 정의
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));
}
함수 호출 예시
var dt1 = new Date('2011-12-01');
var dt2 = new Date('2010-12-04');
var result_str = dt1.getInterval(dt2)+'일 차이납니다.';
JS로 날짜를 구현하는 기본방법을 알게되었고 제 React프로젝트에도 성공적으로 2주간 달력을 개발하여 추가할수 있었습니다.
참고사이트는 이분입니다. :
출처: https://dororongju.tistory.com/116 [웹 개발 메모장]