JS 中与时间对象相关

146 阅读3分钟

时间对象

JSDate 给我们提供了操作时间的一些方法, 是 JS 内置的一个对象

var timer = new Date()  // new Date()   会给我们返回一个时间对象
console.log(timer)

创建时间对象

创建时间对象的时候, 可以选择传递参数, 也可以不传递参数
    1. 不传参
        例: var timer = new Date()
            console.log(timer)  //Wed Jan 04 2023 14:28:23 GMT+0800 (中国标准时间)
    
    2. 传参  传递参数分为两种:
        (1). 数字
                最少要传递两个值, 年 和 月(在 JS0~11代表了1~12月)
               例: var timer1 = new Date(1999, 00 , 31, 23, 59, 59)
                                          年   月   日  时   分  秒
                   console.log(timer1)  //Sun Jan 31 1999 23:59:59 GMT+0800 (中国标准时间)2). 字符串
                  最少只需要传递一个参数年份即可 (字符串的形式传递时月份从 1 开始)
               例: var timer2 = new Date('2020-02-13 13:14:15')
                   console.log(timer2) //Thu Feb 13 2020 13:14:15 GMT+0800 (中国标准时间)
 

获取时间对象

 1. 获取  年
      语法:  timer.getFullYear()
 2. 获取  月
       语法: timer.getMonth()
 3. 获取  日
       语法: timer.getDate()
 4. 获取  周几
       语法: timer.getDay()
 5. 获取  时分秒
       语法: timer.getHours()
             timer.getMinutes()
             timer.getSeconds()
 6. 获取  一周中的第几天(周日为0, 周六为6)
       语法: timer.getDay()
 7. getTime  按照 格林威治时间计算   从 197011000秒 到现在(或者指定日期) 的 毫秒数  
        语法: timer.getTime()

设置时间对象

    修改时间对象用  set
 1. 设置  年
         语法:  timer.setFullYear()
 2. 设置  月
         语法:  timer.setMonth()
 3. 设置  日
         语法:  timer.setDate()
 5. 设置  时
         语法:  timer.setHours()
 6. 设置  分
         语法:  timer.setMinutes()
 7. 设置  秒
         语法:  timer.setSeconds()
 8. 设置  毫秒
         语法:  timer.setMilliseconds()
 9. 直接设置 到1970年的总毫秒
         语法:  timer.setTime()
         

定时器!!!

定时器分为两种        毫秒:秒    1000:1
    1.setInterval   计时器, 每间隔固定时间执行一次
        语法: setInterval(函数, 数字/时间)
            函数: 每间隔固定时间要执行的代码
            数字: 间隔的时间, 注意单位是毫秒, 最小值为4~20
        例: const timeId1 = setInterval(function(){
                  console.log('我是一个计时器')
            }, 2000)
            clearInterval(timeId1)
    2.setTimeout    倒计时器,在指定时间到达后, 执行一次(只执行一次)
        语法:setTimeout(函数, 数字)
            函数:在指定时间到达后要执行的代码
            数字:间隔时间, 单位也是毫秒
         例: const timeId2 = setTimeout(function(){
                  console.log('我是一个倒计时器')
             }, 5000)
             
两个定时器的返回值和意义
    返回值:
        返回值不区分定时器种类, 用于表示你这个定时器是页面中第几个定时器
    作用:
        用来关闭定时器
关闭定时器
    不区分定时器种类, 只要给出正确的定时器返回值就可以关闭
    语法:  clearTimeout(定时器返回值)
    
    注:  能够关闭计时器也能关闭倒计时器
         开发人员的约定:这个定时器只用来关闭计时器!!!
         目的是为了让其他开发人员看到这行代码之后,知道你关闭了一个计时器
         

异步代码

 简单的代码异步执行机制
     1.非异步代码
         按照从上到下的顺序,从左到右的顺序, 依次执行每一行代码
         如果上一行代码没有执行完毕, 不会执行下一行代码
     2.异步代码
         当代码遇到异步任务的时候, 会把这个代码放在 '异步队列' 内等待,所有的同步代码全部执行完毕之后, 在开始执行 '异步队列' 内的代码。
         简单来说:代码在执行的时候 如果遇到异步任务, 会先放在 '异步队列' 内等待,然后继续往下执行,直到把所有的同步代码执行完毕后, 再开始执行异步任务
     3.异步任务
         两种定时器就是异步任务
         也可以理解为先执行定时器外面的代码, 然后执行定时器里面的代码