본문 바로가기
개발/Javascript

Javascript Date compare

by 혈중마라농도 2022. 1. 25.
// -1 : adate가 작음, 0: 같음, 1: adate가 큼
function compareDate(adate, bdate) {
    var ayear = adate.getFullYear();
    var amonth = adate.getMonth() + 1;
    var aday = adate.getDate();
    var byear = bdate.getFullYear();
    var bmonth = bdate.getMonth() + 1;
    var bday = bdate.getDate();

    // 시간, 분 추가
    var ahour = adate.getHours();
    var bhour = bdate.getHours();
    var amin = adate.getMinutes();
    var bmin = bdate.getMinutes();

    var retVal = 0;

    if (ayear < byear) {
        retVal = -1;
        return retVal;
    } else if (ayear > byear) {
        retVal = 1;
        return retVal;
    } else {
        if (amonth < bmonth) {
            retVal = -1;
            return retVal;
        } else if (amonth > bmonth) {
            retVal = 1;
            return retVal;
        }
        else {
            if (aday < bday) {
                retVal = -1;
                return retVal;
            } else if (aday > bday) {
                retVal = 1;
                return retVal;
            }
            else {
                if (ahour < bhour) {
                    retVal = -1;
                    return retVal;
                } else if (ahour > bhour) {
                    retVal = 1;
                    return retVal;
                }
                else {
                    if (amin < bmin) {
                        retVal = -1;
                        return retVal;
                    } else if (amin > bmin) {
                        retVal = 1;
                        return retVal;
                    }
                }
            }
        }
    }

    return retVal;
}
반응형

댓글