2024. 05. 20
- 날짜의 간격을 음수로 받아야 되는 경우가 있어서 해당 부분 주석으로 설명 넣어두었음.
- Math.abs (절대값)을 제거하면 음수로 받을 수 있음.
//날짜 차이 , 간격 일수 함수 (yyyymmdd , yyyy-mm-dd)
function _fnCompareDay(vValue1, vValue2) {
var rxDatePattern = /^(\d{4})(\d{1,2})(\d{1,2})$/; //Declare Regex
if (vValue1.length > 7 && vValue2.length > 7) {
//- replaceAll
var dtArray1 = vValue1.replace(/-/gi, "").match(rxDatePattern); //기준 날짜
var dtArray2 = vValue2.replace(/-/gi, "").match(rxDatePattern); //비교 날짜
//0 => 현재 날짜 / 1 => yyyy / 2 => mm / 3 => dd
var vSDate = new Date(parseInt(dtArray1[1]), parseInt(dtArray1[2]) + 1, parseInt(dtArray1[3]));
var vEDate = new Date(parseInt(dtArray2[1]), parseInt(dtArray2[2]) + 1, parseInt(dtArray2[3]));
//추가 : 만약 날짜 차이를 음수로 받고 싶다면 Math.abs를 제거
var vGapDay = Math.abs(vEDate.getTime() - vSDate.getTime());
vGapDay = Math.ceil(vGapDay / (1000 * 3600 * 24));
return vGapDay;
} else {
return "N";
}
}