webapi 日期对象

123 阅读2分钟

日期对象

实例化

在代码中发现了 new 关键字时,一般将这个操作称为**实例化

const date = new Date()// 得到当前的系统时间

const date1 = new Date('2008-8-8')//指定时间

方法

*01-日期对象方法

    const date = new Date()
    const y = date.getFullYear() /// 得到4位数的年份
    const m = (date.getMonth() + 1)//得到月份 0~11 0表示1月份 11 表示12月份
    const d = date.getDate()  // 返回的 1~31之间的一个整数
    const h = date.getHours() // 返回 0~23 小时
    const f = date.getMinutes() // 返回 0~59 分钟
    const s = date.getSeconds() // 返回 0~59 秒
    const week = date.getDay() // 返回 0~6   0 表示星期天 

02-显示格式化日期时间

<div></div>
<style>
    div {
      width: 400px;
      height: 300px;
      border: 1px solid pink;
      text-align: center;
      line-height: 300px;
      margin:0 auto;
    }
  </style>
 <script>
    // 1 封装格式化时间函数
    function getMyDate() {
      // 3 获得日期对象
      const date = new Date()
      const y = date.getFullYear() // 年
      let M = (date.getMonth() + 1) // 月
      let d = date.getDate() // 日期
      let h = date.getHours() // 时
      let m = date.getMinutes() // 分
      let s = date.getSeconds() // 秒
      h = h < 10 ? '0' + h : h
      m = m < 10 ? '0' + m : m
      s = s < 10 ? '0' + s : s
      /* 2 把时间放到标签里面显示 
      const res = `今天是:2022年-5月-30号 10:10:10`
      document.querySelector('div').innerHTML = res */
      const res = `今天是: ${y}${M + 1}${d}${h}:${m}:${s}`
      document.querySelector('div').innerHTML = res
    }
    getMyDate()
    // 4 开启定时器
    setInterval(getMyDate, 1000)
  </script>

时间戳

时间戳就是毫秒数,用来作倒计时.

 // 1. getTime()
    const date = new Date() // 必须实例化
    // 得到时间戳  表示从1970年1月1日0时0分0秒  到现在总毫秒数
    console.log(date.getTime())
    // 2. +new Date()
    console.log(+new Date())
    // 3. Date.now()
    console.log(Date.now());
 console.log('-----------------');
// 2 得到指定时间日期的时间戳
// 得到1970年1月1日0时0分0秒 到 2022-10-1 18:30:00
console.log(+new Date('2022-10-1 18:30:00'))

倒计时案例

用事件戳解决事件加减问题(未来时间-现在时间)

   // 封装函数
    function getCountTime() {
      // 1. 得到未来的时间戳
      const fTime = +new Date('2022-10-1 18:30:00')
      // 2. 得到现在的时间戳
      const nTime = +new Date()
      // 3. 得到剩余的时间戳  相减(fTime - nTime) 
      // 记得转换为 秒数
      const time = (fTime - nTime) / 1000  
      // console.log(time)
      /*let d = parseInt(time / 60 / 60 / 24)  
      console.log(d)*/
      // 4. 转换为时分秒
      let h = parseInt(time / 60 / 60 % 24)
      h = h < 10 ? '0' + h : h
      let m = parseInt(time / 60 % 60) 
      m = m < 10 ? '0' + m : m
      let s = parseInt(time % 60)
      s = s < 10 ? '0' + s : s
      //console.log(h, m, s)
      // 5 获取对应的 dom 元素写到盒子里面
      document.querySelector('#hour').innerHTML = h
      document.querySelector('#minutes').innerHTML = m
      document.querySelector('#second').innerHTML = s
    }
    // 调用函数
    getCountTime()
    // 开启定时器
    setInterval(getCountTime, 1000)

时钟动画效果

角度换算: 公式复制即可
​
•      //   小时角度公式:小时 * 30 + 分钟 / 60 * 30 
​
•      //   分钟角度公式:分钟* 6 + 秒 / 60 * 6
​
•      //   秒角度公式: 当前秒数 * 6

\