가끔가다 쓰는 기능인데..자바스크립트로 날짜 사이의 값을 배열로 가져오는 기능이다.
어렵지 않는 기능이긴한데 간혹 만들기 귀찮아서 적어본다.
날짜 형태는 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;
}
반응형
'Javascript > [중요] Javascript' 카테고리의 다른 글
* 위 에니메이션은 Html의 캔버스(canvas)기반으로 동작하는 기능 입니다. Html 캔버스 튜토리얼 도 한번 살펴보세요~ :)
* 직접 만든 Html 캔버스 애니메이션 도 한번 살펴보세요~ :)
댓글