Date时间 和 定时器(异步代码):

时间差:

    <script>
        // 求时间差
        var d1 = new Date('2023-12-8 12:11:24')
        var d2 = new Date()
        console.log(d1-d2);
    </script>

Data时间:自动获取

    <script>
        /* 
            认识单词:
                get:获取  set:设置
                year:年  month:月  date:日期
                hours:小时  minutes:分钟  seconds:秒  millseconds:毫秒
                time:时间  day:天数
            单独获取某一个值的方式:
                获取年份:时间对象.getFullYear()
                获取月份:时间对象.getMonth(),0表示1月
                获取日期:时间对象.getDate()
                获取小时:时间对象.getHours()
                获取分钟:时间对象.getMinutes()
                获取秒:时间对象.getSeconds()
                获取星期:时间对象.getDay()===0表示星期天  1表示星期一
                时间对象.getTime()====得到时间戳(从1970年1月1日 0时0分0秒到现在的时间差,结果是毫秒值)
            单独设置某一个值:
                语法同上,把get换成set即可
                比如:时间对象.setFullYear()===设置年份


        */
            // 自动获取时间
        function AutoGetTime() {
            var d = new Date()

            // 年月日
            var year = d.getFullYear()
            var month = d.getMonth() + 1      // 0~11 表示 1月到12月
            var date = d.getDate()

            // 小时、分钟、
            var hour = d.getHours()
            var minute = d.getMinutes()
            var second = d.getSeconds()
            second = second < 10 ? '0' + second : second  //判断小于10,前边会拼接一个0,否则会默认输出

            var day = d.getDay()    // 0~6 表示 星期一到星期天 
            var dayArr = ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六',]

            // dayArr[da]:数组[下标]得到数组数据
            console.log(`${year}年${month}月${date}日    ${hour}:${minute}:${second}    ${dayArr[day]}`)
        }
        AutoGetTime()
        AutoGetTime()
        AutoGetTime()
        



    </script>

定时器:

开启

setTimeout() ,setInterval()

关闭

clearTimeout(),setInterval()

<body>
    <button id="btn1">点我关闭定时器</button>

    <!-- /* 
    定时器其实就是让代码延迟执行的一种手段.
    开启定时器:
        1.延迟定时器,(延迟多长时间才执行代码)
            语法:setTimeout(函数,时间)
            延迟多长时间执行该函数.
        2.间隔定时器(循环定时器)(每间隔一段时间就执行一次代码) 
            语法:setInterval(函数,时间)
            每间隔多长时间就执行一次函数
        注意:时间是不带单位的,你写的那个数字是毫秒值
    定时器的返回值是一个数字,该数字表示你是页面中的第几个定时器,返回1就代表是第一个定时器.
*/  -->
    <script>

        // 开启定时器
        // 返回值:是一个数字,该数字表示是页面上第几个定时器

        // // 延迟定时器
        // setTimeout(function () {
        //     console.log('两秒后了,我执行了');          
        // },2000)
        // // 间隔(循环)定时器
        // setInterval(function () {
        //     console.log('我会两秒执行一次')
        // },2000)



        // 停止定时器
        // 
        var res1 = setInterval(function () {
            console.log('我会两秒执行一次')
        },2000)

        var btn1Ele = document.getElementById('btn1')
        btn1Ele.onclick = function () {
            // 停止定时器
            clearTimeout(res1)
            clearInterval(res1)
        }


        // eg:利用定时器一秒输出一次num的值
            // var num = 10
            // var res = setInterval(function(){
            //     num--
            //     console.log(num);
            //     if (num == 1) {
            //         clearInterval(res)
            //     }
            // },1000)
        
        // 代码执行顺序分二类:
        /* 
                同步代码:不做特别说明,全是同步代码
                            自上而下执行依次运行
                异步代码:定时器
                            先等所有的同步代码执行完毕,才会执行异步代码
        */


    </script>
</body>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值