美文网首页
在JS中通过Date()函数获取当前时间,实现钟表以及日历的倒计

在JS中通过Date()函数获取当前时间,实现钟表以及日历的倒计

作者: 西川楚人 | 来源:发表于2018-08-28 21:18 被阅读0次
    编写时钟表的方法

    通过调用Date()函数可实现在指定的位置显示系统时间,实现代码及注释:

    • 实现一个时钟表

    */

    //开始的时间

    
        var today = new Date();//创建一个taday并获取Date()的函数调用
    
        var h = today.getHours();//调用Date()函数里的getHours()
    
        var m = today.getMinutes();//通过Date()调用getMinutes()
    
        var s = today.getSeconds();//调用getSeconds()
    
        m = checkTime(m);//调用checkTime()
    
        s = checkTime(s);//调用checkTime()
    
        document.getElementById("timeOne").innerHTML=h+":"+m+":"+s;//在名为:timeOne中显示结果
    
        t=setTimeout('startTime()',1000);//每过1000毫秒就会执行一次startTime()函数 1s=1000ms 至少每过1000ms执行一次
    
    }
    
    function checkTime(i){//规定在m/s小于10时在前面补零变成两位数
    
        if(i<10)
    
        {i="0" +i}
    
        return i;
    
    } 
    /**
     * 实现年月日的变化
     */
    //判断是否是闰年
    function isLeapYear(year){
        var leapyear=year%4===0&&year%100!==0||year%400===0 ? 31622400:31536000;
        return leapyear;
    }
    //从计算机的系统时间中调用年、月、日、时、分、秒
        var toDay = new Date();
        var presentYear = toDay.getFullYear();
        var presentMonth = toDay.getMonth() + 1;
        var presentDay = toDay.getDate();
        var presentH = toDay.getHours();
        var presentM = toDay.getMinutes();
        var presentS = toDay.getSeconds();
    //根据系统时间来计算该年过了几天,几秒 2018/8/28/15:48:08
        var passByMonth = presentMonth;
        var passByDay = presentDay;
        var _day=0,_totalDays=0;
        var passByH = presentH*3600,
            passByM = presentM*60,
            passByS = presentS;
        var passTime = passByH+passByM+passByS;
        for(var i=0;i<passByMonth-1;i++){
            switch (i){
                case 2:
                _day = presentYear%4===0&&presentYear%100!==0||presentYear%400===0 ? 29:28;
                break;
                case 4:
                case 6:
                case 9:
                case 11:
                _day = 30;
                break;
                default:
                _day = 31;
                }
            _totalDays+=_day;
        }
        _totalDays+=passByDay;
        _totalDaysTime= 86400-passTime;
        if(presentYear%4===0&&presentYear%100!==0||presentYear%400===0){
            _totalDays = 366-_totalDays;
        }else{
            _totalDays = 365-_totalDays;
        }
    
    
    
    
    //实现年份、月份、秒数的递减或递增
        var _year=presentYear,
            tmp =_totalDaysTime,
            count=0,
            day=_totalDays;
        var y=window.document.getElementById("year");
            y.innerHTML=_year;
        var d=window.document.getElementById("totalDays");
            d.innerHTML=day;
        function totalSeconds(){
            var _totalS=tmp;
            if(_totalS===0){
                var year=presentYear;
                y=window.document.getElementById("year");
                y.innerHTML=year;
                _totalS = isLeapYear(year);
                var a=window.document.getElementById("totalS");
                a.innerHTML=_totalS;
                }
                a=window.document.getElementById("totalS");
                a.innerHTML=_totalS;
                tmp=_totalS-1;
                count++;
                if(count===86400){
                    day--;
                    d=window.document.getElementById("totalDays");
                    d.innerHTML=day;
                    count=0;
                }
                t=setTimeout('totalSeconds()',1000);
        }
        totalSeconds();
    
    HTML代码:
    <body onload="startTime()">
        <div class="box">
            <dl>
                <dt id="timeOne"></dt>
                <dd id="timeTwo">距离<span id="year"></span>年年底还有<span id="totalDays"></span>天<span id="totalS"></span>秒</dd>
            </dl>
        </div>
        <div class="date">
    
        </div>
    
    CSS代码:
    @charset "UTF-8";
    /**
     *
     * @authors Marte (iqianduan@126.com)
     * @date    2018-08-27 10:21:09
     * @version $Id$
     */
    *{margin:0;padding:0;}
    .box{
        height: 400px;
        widht:100%;
        background:url(../images/bg/7.jpg) no-repeat center center;
        background-size: 100% 100%;
        margin-top: 20px;
        overflow: hidden;
    }
    .box dl{
        margin:0 auto;
        width:800px;
        height:200px;
        // background: orange;
        margin-top:200px;
        text-align: center;
        color:#c9dfd3;
    }
    .box dl dt{
        font-size: 48px;
        color:#c9dfd3;
        height:50px;
        line-height:50px;
    }
    .box dl dd{
        height:80px;
        line-height: 80px;
        font-size: 24px;
    }
    .date{
        float: right;
        background:yellow;
    }
    .box dl dd span{
        font-size:36px;
    }
    

    相关文章

      网友评论

          本文标题:在JS中通过Date()函数获取当前时间,实现钟表以及日历的倒计

          本文链接:https://www.haomeiwen.com/subject/svgqwftx.html