三 components /count-down/countDown.js

73 阅读1分钟
const SECOND = 1000;
const MINUTE = 60 * SECOND;
const HOUR = 60 * MINUTE;
const DAY = 24 * HOUR;

export function parseTimeData( time ){
    const days = padZero(Math.floor( time / DAY ));
    const hours = padZero(Math.floor( (time % DAY) / HOUR ));
    const minutes = padZero(Math.floor( (time % HOUR) / MINUTE ));
    const seconds =padZero( Math.floor( (time % MINUTE ) / SECOND ));
    return {
        days,
        hours,
        minutes,
        seconds
    }
}

export function parseFormat( format , timeData ){
    let { days , hours , minutes  , seconds } = timeData;
    if( format.indexOf('DD') == -1 ){
        hours += days * 24;
    }else{
        format = format.replace('DD',padZero(days) );
    }

    if( format.indexOf('HH') == -1 ){
        minutes += hours * 60;
    }else{
        format = format.replace('HH',padZero(hours) );
    }

    if( format.indexOf('mm') == -1 ){
        seconds += minutes * 60;
    }else{
        format = format.replace('mm',padZero(minutes) );
    }

    return format.replace('ss',padZero(seconds) );

}


function padZero( number ){
    let str = `${number}`;
    return str.padStart(2,'0');
}