码迷,mamicode.com
首页 > 其他好文 > 详细

倒计时

时间:2017-04-02 23:23:08      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:window   字符   括号   rms   当前时间   ram   date()   不能   不兼容   

获取当前时间用 new Date(),如果获取目标时间就是给括号里传规定格式的字符串比如:new Date("2017-03-27 14:59:59");

这里对格式有要求:
在IE6-8下“-”这个横岗不兼容,需要用"/"

getTime() 获取距离1970年1月1日午夜0点的毫秒差

所以求两个时间段的时间差就是 用getTime()方法 获取两个时间段的毫秒差 然后用多的减少的

代码:


<script type="text/javascript">
    /*
    * function:计时器函数
    * params:目标时间字符串
    * return:当前时间和目标时间所相差的时间字符串
    * */
    function getTimeFun(timePar){
        //获得目标时间的时间对象
        var dateTime = new Date(timePar);
        //获得当前时间的时间对象
        var dateNow = new Date();
        //分别获得距离1970年1月1日的毫秒数目
        dateNow = dateNow.getTime();
        dateTime = dateTime.getTime();
        //目标时间不能比当前时间小
        if(dateTime<dateNow){
            return "时光不能倒流!!!";
        }
        //求出当前时间和目标时间相差的毫秒
        var time = dateTime - dateNow;
        //获得相差的小时(未取整)
        var hourMs = time/(1000*60*60);
        //获得相差的小时(向下取整)
        var hour = Math.floor(hourMs);
        //获得相差的分钟(未取整)
        var minuteMs = (hourMs-hour)*60;
        //获得相差的分钟(向下取整)
        var minute = Math.floor(minuteMs);
        //获得相差的秒数(向下取整)
        var sec = Math.floor((minuteMs - minute)*60);
        //要返回的倒计时
        var timeStr = addZero(hour) +"小时"+addZero(minute)+"分钟"+addZero(sec)+"秒";
        //返回对象
        var resultList = {};
        //返回对象存入小时、分钟、秒、倒计时
        resultList.hour = addZero(hour);
        resultList.minute = addZero(minute);
        resultList.sec = addZero(sec);
        resultList.timeStr = timeStr;
        console.log(resultList)
        return resultList;
    }

    //如果数字小于10前面加0返回
    function addZero(timeObj){
        return timeObj<10?"0"+timeObj:timeObj;
    }

    //获取展示时间地点的div
    var timeDiv = document.getElementById("timeId");
    //每一秒执行一次自执行匿名函数,这里timeAuto只是个变量,不是函数
    var timeAuto = window.setInterval(function(){
        //调用计时器函数并传入一个目标时间,然后得到返回值,返回值中包括小时分钟秒还有输出用的时间字符串
        var res = getTimeFun("2017/03/27 20:00:00");
        //检验返回值
        if(res!="时光不能倒流!!!"){
            //把时间字符串给展示的div展示出来
            timeDiv.innerHTML = res.timeStr;
            //如果时间都为0的时候停止这个匿名函数
            if(res.hour == 0 && res.minute ==0 && res.sec==0){
                alert("结束");
                clearInterval(timeAuto);
            }
        }else{
            alert("时光不能倒流!!!");
            clearInterval(timeAuto);
        }

    },1000);

</script>

 

倒计时

标签:window   字符   括号   rms   当前时间   ram   date()   不能   不兼容   

原文地址:http://www.cnblogs.com/woaiqiaodaima/p/6660122.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!