js 日期比較大小,js判斷日期是否在區間內,js判斷時間段是否在另外一個時間段內


    /** 
     * 日期解析,字符串轉日期 
     * @param dateString 可以為2017-02-16,2017/02/16,2017.02.16 
     * @returns {Date} 返回對應的日期對象 
     */  
    function dateParse(dateString){  
        var SEPARATOR_BAR = "-";  
        var SEPARATOR_SLASH = "/";  
        var SEPARATOR_DOT = ".";  
        var dateArray;  
        if(dateString.indexOf(SEPARATOR_BAR) > -1){  
            dateArray = dateString.split(SEPARATOR_BAR);    
        }else if(dateString.indexOf(SEPARATOR_SLASH) > -1){  
            dateArray = dateString.split(SEPARATOR_SLASH);  
        }else{  
            dateArray = dateString.split(SEPARATOR_DOT);  
        }  
        return new Date(dateArray[0], dateArray[1]-1, dateArray[2]);   
    };  
      
    /** 
     * 日期比較大小 
     * compareDateString大於dateString,返回1; 
     * 等於返回0; 
     * compareDateString小於dateString,返回-1 
     * @param dateString 日期 
     * @param compareDateString 比較的日期 
     */  
    function dateCompare(dateString, compareDateString){  
        if(isEmpty(dateString)){  
            alert("dateString不能為空");  
            return;  
        }  
        if(isEmpty(compareDateString)){  
            alert("compareDateString不能為空");  
            return;  
        }  
        var dateTime = dateParse(dateString).getTime();  
        var compareDateTime = dateParse(compareDateString).getTime();  
        if(compareDateTime > dateTime){  
            return 1;  
        }else if(compareDateTime == dateTime){  
            return 0;  
        }else{  
            return -1;  
        }  
    };  
      
    /** 
     * 判斷日期是否在區間內,在區間內返回true,否返回false 
     * @param dateString 日期字符串 
     * @param startDateString 區間開始日期字符串 
     * @param endDateString 區間結束日期字符串 
     * @returns {Number} 
     */  
    function isDateBetween(dateString, startDateString, endDateString){  
        if(isEmpty(dateString)){  
            alert("dateString不能為空");  
            return;  
        }  
        if(isEmpty(startDateString)){  
            alert("startDateString不能為空");  
            return;  
        }  
        if(isEmpty(endDateString)){  
            alert("endDateString不能為空");  
            return;  
        }  
        var flag = false;  
        var startFlag = (dateCompare(dateString, startDateString) < 1);  
        var endFlag = (dateCompare(dateString, endDateString) > -1);  
        if(startFlag && endFlag){  
            flag = true;  
        }  
        return flag;  
    };  
      
    /** 
     * 判斷日期區間[startDateCompareString,endDateCompareString]是否完全在別的日期區間內[startDateString,endDateString] 
     * 即[startDateString,endDateString]區間是否完全包含了[startDateCompareString,endDateCompareString]區間 
     * 在區間內返回true,否返回false 
     * @param startDateString 新選擇的開始日期,如輸入框的開始日期 
     * @param endDateString 新選擇的結束日期,如輸入框的結束日期 
     * @param startDateCompareString 比較的開始日期 
     * @param endDateCompareString 比較的結束日期 
     * @returns {Boolean} 
     */  
    function isDatesBetween(startDateString, endDateString,  
            startDateCompareString, endDateCompareString){  
        if(isEmpty(startDateString)){  
            alert("startDateString不能為空");  
            return;  
        }  
        if(isEmpty(endDateString)){  
            alert("endDateString不能為空");  
            return;  
        }  
        if(isEmpty(startDateCompareString)){  
            alert("startDateCompareString不能為空");  
            return;  
        }  
        if(isEmpty(endDateCompareString)){  
            alert("endDateCompareString不能為空");  
            return;  
        }  
        var flag = false;  
        var startFlag = (dateCompare(startDateCompareString, startDateString) < 1);  
        var endFlag = (dateCompare(endDateCompareString, endDateString) > -1);  
        if(startFlag && endFlag){  
            flag = true;  
        }  
        return flag;  
    };</span>  

js 日期比較大小,js判斷日期是否在區間內,js判斷時間段是否在另外一個時間段內

js判斷時間區間是否在另外一個時間區間內,js時間格式化,js時間比較大小


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM