常用时间格式化方法

228 阅读1分钟

自己用的时间格式化方法,不喜欢因为一点小功能就引入包文件

//计算时间差,做倒计时
export function initTime (actTime, currentTime) {
  let activitytimer = +new Date(actTime);
  let newTime = currentTime;
  let difftime = activitytimer - newTime;

  if (difftime >= 0) {
    let days =
      Math.floor(difftime / 1000 / 60 / 60 / 24) > 9
        ? Math.floor(difftime / 1000 / 60 / 60 / 24)
        : '0' + Math.floor(difftime / 1000 / 60 / 60 / 24);
    let houres =
      Math.floor(difftime / 1000 / 60 / 60 % 24) > 9
        ? Math.floor(difftime / 1000 / 60 / 60 % 24)
        : '0' + Math.floor(difftime / 1000 / 60 / 60 % 24);
    let minutes =
      Math.floor((difftime / 1000 / 60) % 60) > 9
        ? Math.floor((difftime / 1000 / 60) % 60)
        : '0' + Math.floor((difftime / 1000 / 60) % 60);
    let seconds =
      Math.floor((difftime / 1000) % 60) > 9
        ? Math.floor((difftime / 1000) % 60)
        : '0' + Math.floor((difftime / 1000) % 60);
    let countTimes = days + '天' + houres + ':' + minutes + ':' + seconds;
    return countTimes;
  } else {
    return '00天00:00:00';
  }
}

//年-月-日 时:分:秒
export function formatTime (times) {
  let time = new Date(times * 1000)

  let year = time.getFullYear()
  let mouth = time.getMonth() + 1 < 10 ? '0' + (time.getMonth() + 1) : time.getMonth() + 1
  let day = time.getDate() < 10 ? '0' + time.getDate() : time.getDate()
  let hours = time.getHours() < 10 ? '0' + time.getHours() : time.getHours()
  let minutes = time.getMinutes() < 10 ? '0' + time.getMinutes() : time.getMinutes()
  let seconds = time.getSeconds() < 10 ? '0' + time.getSeconds() : time.getSeconds()

  let str = `${year}-${mouth}-${day} ${hours}:${minutes}:${seconds}`
  return str
}

// 返回时间戳数组
export function formatTimeArr (times) {
  let time = times.map(v => (+new Date(v)) / 1000)
  return time
}

// 返回时间戳
export function formatTimesingle (times) {
  let time = (+new Date(times)) / 1000
  return time
}