时间过去式函数(微信小程序)

380 阅读1分钟

开发平台:微信开发者工具

简介:仿微信的时间过去式表示形式

功能:表示过去的时间

今天的时间表示形式如“15:06”
昨天的时间表示形式如“昨天  15:06”
昨天以前,距今一周以内的表示形式如“星期五  15:06”
距今超过一周的表示形式如“3月2日  15:06”

效果图

alt
CODE

  const timeLast = timer => {
  let currentStamp = (new Date()).getTime()
  let t1 = (new Date(timer)).getTime()
  let t2 = new Date(t1)
  let timered = null
  let label = null
  let time = formatHour(t2.getHours()) + ":" + formatMinute(t2.getMinutes())      //调用分钟格式化函数
  let zeroStamp = currentStamp - currentStamp % 86400000 //计算今天零点的总毫秒数
  if (t1 >= zeroStamp) {
    label = ""
  } else if ((zeroStamp - 86400000) <= t1 && t1 < zeroStamp) {
    label = "昨天"
  } else if ((zeroStamp - 7 * 86400000) <= t1 && t1 < (zeroStamp - 86400000)) {
    label = "星期" + dayOfTheWeek(t2.getDay())      //调用星期格式化函数
  } else {
    label = (t2.getMonth() + 1) + "月" + t2.getDate() + "日"
  }
  timered = {
    label: label,
    time: time
  }
  return timered
}

const dayOfTheWeek = number => {
  switch (number) {
    case 0:
      return "日"
    case 1:
      return "一"
    case 2:
      return "二"
    case 3:
      return "三"
    case 4:
      return "四"
    case 5:
      return "五"
    case 6:
      return "六"
  }
}

const formatMinute = minute => {
  if (minute < 10) {
    return "0" + minute
  } else {
    return minute
  }
}
const formatHour = hour => {
  if (hour < 10) {
    return "0" + hour
  } else {
    return hour
  }
}
module.exports = {
  timeLast: timeLast,
  dayOfTheWeek: dayOfTheWeek,
  formatMinute: formatMinute,
  formatHour, formatHour
}