js 時間相關函數


比較兩個時間的大小,例如比較10:00和14:28的大小,函數如下

CompareTime = function (t1, t2) {
        var date = new Date();
        var a = t1.split(":");
        var b = t2.split(":");
        return date.setHours(a[0], a[1]) > date.setHours(b[0], b[1]);
    }

計算兩個時間的差值(秒,分鍾,小時,天),函數如下

   GetDateDiff = function (startTime, endTime, diffType) {
        //將xxxx-xx-xx的時間格式,轉換為 xxxx/xx/xx的格式 
        startTime = startTime.replace(/\-/g, "/");
        endTime = endTime.replace(/\-/g, "/");
        //將計算間隔類型字符轉換為小寫
        diffType = diffType.toLowerCase();
        var sTime = new Date(startTime); //開始時間
        var eTime = new Date(endTime); //結束時間
        //作為除數的數字
        var timeType = 1;
        switch (diffType) {
            case "second":
                timeType = 1000;
                break;
            case "minute":
                timeType = 1000 * 60;
                break;
            case "hour":
                timeType = 1000 * 3600;
                break;
            case "day":
                timeType = 1000 * 3600 * 24;
                break;
            default:
                break;
        }
        return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(timeType));
    }

獲取當前時間左右的第N天,函數如下

GetDateStr = function (AddDayCount) {
        var dd = new Date();
        dd.setDate(dd.getDate() + AddDayCount);//獲取AddDayCount天后的日期 
        var y = dd.getFullYear();
        var m = dd.getMonth() + 1;//獲取當前月份的日期 
        var d = dd.getDate();
        return y + "-" + m + "-" + d;
    }

將日期轉換為指定的格式:比如轉換成 年月日時分秒 這種格式:yyyy-MM-dd hh:mm:ss 或者 yyyy-MM-dd,函數如下

//為Date原型添加如下的方法:
    Date.prototype.format = function (fmt) {
        var o = {
            "M+": this.getMonth() + 1,                 //月份 
            "d+": this.getDate(),                    //
            "h+": this.getHours(),                   //小時 
            "m+": this.getMinutes(),                 //
            "s+": this.getSeconds(),                 //
            "q+": Math.floor((this.getMonth() + 3) / 3), //季度 
            "S": this.getMilliseconds()             //毫秒 
        };
        if (/(y+)/.test(fmt)) {
            fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
        }
        for (var k in o) {
            if (new RegExp("(" + k + ")").test(fmt)) {
                fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
            }
        }
        return fmt;
    }

使用:new Date().format("yyyy-MM-dd");


免責聲明!

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



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