dateTimeTool.js 3.2 KB
/** 时间工具类*/
var DateTimeTool = function () {
    var jsd = [];
    var initSJD = function (map) {
        jsd = map;
    };
    // 数字格式转化为时间格式
    var calculateHours = function (time) {
        if(!time)
            return;
        var h,m;
        h = Math.floor(time);
        m = Math.round((time % 1) * 60);
        return h+':'+m;
    };
    /**
     * @discription : (TODO) 字符串转时间对象
     *
     * @params : 具有一定格式的时间字符串
     *
     * @return : 返回一个中国标准时间点
     *
     **/
    var getDateTime = function(time) {
        var dateTime = new Date();
        if(time !=null && time !='' && typeof(time) !='undefined') {
            timeArr = time.split(':');
            dateTime.setHours(parseInt(timeArr[0]));
            dateTime.setMinutes(parseInt(timeArr[1]));
            dateTime.setSeconds(0);
            // 在0-3点之间(包括0和3)的时间都默认为下一天的时间
            if(parseInt(timeArr[0]) <= 3 && parseInt(timeArr[0]) >= 0)
                dateTime.setDate(dateTime.getDate() +1);
        }
        return dateTime;
    };
    /**
     * @discription : (TODO) 获取时间格式[00:00]
     *
     * @params : [startTime--时间对象(任意时间对象:字符串、时间戳、时间对象)]
     *
     * @return : 返回字符串。这里返回的是一个时间格式的字符串[00:00]
     **/
    var getHHmmStr = function(time) {
        var date = new Date(time);
        //  == '00' ? '24' :(startTime.getHours()<10? '0' + startTime.getHours() : startTime.getHours()))
        return (date.getHours()<10? '0' + date.getHours() : date.getHours())
            +':'
            +(date.getMinutes()<10? '0' + date.getMinutes() : date.getMinutes());
    };
    // 判断时间在什么时间段段内
    var judgmentTimeQuantum = function (t) {
        if(t <= getDateTime(jsd[0].end))
            return 0;
        else if(t > getDateTime(jsd[1].start) && t <= getDateTime(jsd[1].end))
            return 1;
        else if(t > getDateTime(jsd[2].start) && t <= getDateTime(jsd[2].end))
            return 2;
        else if(t > getDateTime(jsd[3].start) && t <= getDateTime(jsd[3].end))
            return 3;
        else if(t > getDateTime(jsd[4].start))
            return 4;
    };

    // 8:31-16:00专用
    var judgmentTimeQuantum1 = function (t) {
        var start = DateTimeTool.getDateTime(jsd[2].start);
        if(t > start && t <= start.setHours(start.getHours() + 2))
            return 1;
        else if(t > start.setHours(start.getHours() + 2) && t <= start.setHours(start.getHours() + 4))
            return 2;
        else if(t > start.setHours(start.getHours() + 4) && t <= start.setHours(start.getHours() + 6))
            return 2;
        else if(t > start.setHours(start.getHours() + 6) && t <= DateTimeTool.getDateTime(jsd[2].end))
            return 1;
    };
    return{
        initSJD : initSJD,
        calculateHours : calculateHours,
        getDateTime : getDateTime,
        getHHmmStr : getHHmmStr,
        judgmentTimeQuantum : judgmentTimeQuantum,
        judgmentTimeQuantum1 : judgmentTimeQuantum1
    }
}();