본문 바로가기
IT/JavaScript

javascript 날짜 계산

by 최고영회 2013. 12. 23.
728x90
반응형
SMALL
/*
 * 특정 날짜에 대해 지정한 값만큼 가감(+-)한 날짜를 반환
 * 
 * pInterval : 'yyyy' or 'm' or 'd'
 * pAddVal  : 가감 하고자 하는 값 (정수형)
 * pYyyymmdd : 가감의 기준이 되는 날짜
 * pDelimiter : pYyyymmdd 값에 사용된 구분자를 설정 (없으면 "" 입력)
 * 
 * return yyyymmdd 또는 함수 입력시 지정된 구분자를 가지는 yyyy?mm?dd 값
 *
 * 2012-01-01 에 3 일 더하기 ==> addDate("d", 3, "2012-01-01", "-");
 * 20120101 에 8 개월 더하기 ==> addDate("m", 8, "20120101", "");
 --------------------------------------------------------------------------- */
function calDate(pInterval, pAddVal, pYyyymmdd, pDelimiter){
var yyyy;
var mm;
  var dd;
  var cDate;
  var oDate;
  var cYear, cMonth, cDay;
 
  if (pDelimiter != "") {
  pYyyymmdd = pYyyymmdd.replace(eval("/\\" + pDelimiter + "/g"), "");
  }
yyyy = pYyyymmdd.substr(0, 4);
  mm  = pYyyymmdd.substr(4, 2);
  dd  = pYyyymmdd.substr(6, 2);
if (pInterval == "yyyy") {
yyyy = (yyyy * 1) + (pAddVal * 1);
} else if (pInterval == "m") {
mm  = (mm * 1) + (pAddVal * 1);
  } else if (pInterval == "d") {
   dd  = (dd * 1) + (pAddVal * 1);
  }
 
cDate = new Date(yyyy, mm - 1, dd) 
cYear = cDate.getFullYear();
cMonth = cDate.getMonth() + 1;
cDay = cDate.getDate();
 
  cMonth = cMonth < 10 ? "0" + cMonth : cMonth;
  cDay = cDay < 10 ? "0" + cDay : cDay;
 
  if (pDelimiter != "") {
  return cYear + pDelimiter + cMonth + pDelimiter + cDay;
  } else {
   return cYear + cMonth + cDay;
  }
}


728x90
반응형
LIST

'IT > JavaScript' 카테고리의 다른 글

자바스크립트 핵심 가이드 - (문법)  (0) 2013.12.23
자바스크립트 기초 (JavaScript Garden)  (0) 2013.12.23
==, === 연산자 비교  (0) 2013.12.23
JavaScript 공부 방법  (0) 2013.12.23
replaceAll 속도 비교  (0) 2013.12.22