js 计算距离当前时间差

107 阅读1分钟
const getTimeDifference = time => {
  const dateDiff = new Date(time) - new Date()
  const dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000)) //计算出相差天数
  let leave1 = dateDiff % (24 * 3600 * 1000) //计算天数后剩余的毫秒数
  let hours = Math.floor(leave1 / (3600 * 1000)) //计算出小时数
  //计算相差分钟数
  let leave2 = leave1 % (3600 * 1000) //计算小时数后剩余的毫秒数
  let minutes = Math.floor(leave2 / (60 * 1000)) //计算相差分钟数
  //计算相差秒数
  let leave3 = leave2 % (60 * 1000) //计算分钟数后剩余的毫秒数
  let seconds = Math.round(leave3 / 1000)
  // let leave4 = leave3 % (60 * 1000) //计算分钟数后剩余的毫秒数
  // let minseconds = Math.round(leave4 / 1000)
  let timeFn
  if (seconds <= 0 && dayDiff <= 0 && hours <= 0 && minutes <= 0 && seconds <= 0) {
    timeFn = '已截止报名'
  } else {
    timeFn = dayDiff + ' 天 ' + hours + ' 小时 ' + minutes + ' 分钟 ' + seconds + ' 秒' + '后截止报名'
  }
  return timeFn
}