时间对象date,日期格式化,倒计时,时间戳

298 阅读1分钟

时间对象date

日期格式化

 <script>
    // 创建日期对象,获取系统当前日期
    let date = new Date()
    // console.log(date);  //该日期对象不符合我们的使用方法,所以需要进行格式化
    // 我们需要从日期中提取需要的日期部分
    let year = date.getFullYear()
    let month = date.getMonth() + 1  //注意月 +1 因为从0开始 0~11
    let day = date.getDate()         // 当前月份的第几天
    let xingqi = date.getDay()       //星期几  0~6
    let hour = date.getHours()       // 0~23
    let minute = date.getMinutes()   // 0~59
    let second = date.getSeconds()   // 0~59
    let arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
    document.write(`当前是:${year}-${month}-${day} ${arr[xingqi]} ${hour}:${minute}:${second}`)
  </script>

时间戳

概念:时间戳:当前日期距离 1970 - 1 - 1 ,0:0:0 的毫秒值

// 获取时间戳的三种方式 
  let date = new Date()
// 这两种需要先创建一个日期对象
  console.log(date.getTime);
  console.log(+new Date());
// Date.now()只能获取当前日期对应的时间戳
  console.log(Date.now());

下班倒计时案例~~~~

<script>
    // 获取元素
    let hour = document.querySelector('#hour')
    let minutes = document.querySelector('#minutes')
    let second = document.querySelector('#second')
    // 添加定时器
    let timeId = setInterval(function () {
      let date = new Date()
      // 获取下班事件离当前时间的时间戳 ,再转换为秒
      let num = parseInt((+new Date('2022-5-5 18:00:00') - Date.now()) / 1000)
      // 获取小时
      let myhour = parseInt(num / 3600)
      myhour = myhour < 10 ? '0' + myhour : myhour
      // 获取分钟
      let myminutes = parseInt((num % 3600) / 60)
      myminutes = myminutes < 10 ? '0' + myminutes : myminutes
      // 获取秒
      let mysecond = num % 60
      mysecond = mysecond < 10 ? '0' + mysecond : mysecond
      // 给元素赋值
      hour.innerHTML = myhour
      minutes.innerHTML = myminutes
      second.innerHTML = mysecond
      if (num <= 0) {
        clearInterval(timeId)
      }
    }, 1000)
  </script>