Javascript/[중요] Javascript

Javascript 날짜 사이 값 배열로 가져오기(Javascript Array date)

마샤와 곰 2019. 10. 29. 09:27

 

 

가끔가다 쓰는 기능인데..자바스크립트로 날짜 사이의 값을 배열로 가져오는 기능이다.

어렵지 않는 기능이긴한데 간혹 만들기 귀찮아서 적어본다.

날짜 형태는 YYYY-MM-DD 형태를 유지하여 가져오는 방식으로 만들었다.

function getDateRangeData(param1, param2){  //param1은 시작일, param2는 종료일이다.
	var res_day = [];
 	var ss_day = new Date(param1);
   	var ee_day = new Date(param2);    	
  		while(ss_day.getTime() <= ee_day.getTime()){
  			var _mon_ = (ss_day.getMonth()+1);
  			_mon_ = _mon_ < 10 ? '0'+_mon_ : _mon_;
  			var _day_ = ss_day.getDate();
  			_day_ = _day_ < 10 ? '0'+_day_ : _day_;
   			res_day.push(ss_day.getFullYear() + '-' + _mon_ + '-' +  _day_);
   			ss_day.setDate(ss_day.getDate() + 1);
   	}
   	return res_day;
}

 

물론, param1과 param2에 대한 값의 유효성 검사는 하지 않았다. null처리, 올바르지 않는 데이터 처리에 대해서는 기능을 붙여야한다.

값도 잘 나오고 뭐..나름 만족한다.

잘 나오는군..

 

//yyyy-MM-dd hh:mm:ss 값을 초단위로 증가시켜서 가져오는 기능
function getSecondDateRangeData(param1, param2){  //param1은 시작일, param2는 종료일이다.
	var res_day = [];
 	var ss_day = new Date(param1);
   	var ee_day = new Date(param2);
   	res_day.push(param1);
  		while(ss_day.getTime() <= ee_day.getTime()){
  			var _mon_ = (ss_day.getMonth()+1);
  			_mon_ = _mon_ < 10 ? '0'+_mon_ : _mon_;
  			var _day_ = ss_day.getDate();
  			_day_ = _day_ < 10 ? '0'+_day_ : _day_;
  			
  			var _hour_ = ss_day.getHours();
  			_hour_ = _hour_ < 10 ? '0'+_hour_ : _hour_;
  			
  			var _min_ = ss_day.getMinutes();
  			if(_min_ < 59){
  				_min_ = _min_ + 1;
  				if(_min_ < 10){
  					_min_ = '0' + _min_;
  				}
  			} else {
  				_min_ = "00";
  			}
  			
  			var _sec_ = ss_day.getSeconds();
  			if(_sec_ < 59){
  				_sec_ = _sec_ + 1;
  				if(_sec_ < 10){
  					_sec_ = '0' + _sec_;
  				}
  			} else {
  				_sec_ = "00";
  			}
   			res_day.push(ss_day.getFullYear() + '-' + _mon_ + '-' +  _day_ + ' ' + _hour_ + ':' + _min_ + ':' + _sec_);
   			ss_day.setSeconds(ss_day.getSeconds() + 1);
   	}
   	return res_day;
}

 

 

 

 

 

 

반응형