封装一些自己常用到的小方法

将时间转换为:几分钟前,几小时前,几年前

export const relativeTime = oldTime => {
  const t = new Date(oldTime)
  // Date.now():现在的时间戳(毫秒)
  // t.getTime():旧时间的时间戳(毫秒)

  const diff = Date.now() - t.getTime() // 相隔多少毫秒
  // Math.floor 向下取整: 1.7年 ---> 1年前
  const year = Math.floor(diff / (1000 * 3600 * 24 * 365))
  if (year) {
    return `${year}年前`
  }
  const month = Math.floor(diff / (1000 * 3600 * 24 * 30))
  if (month) {
    return `${month}月前`
  }
  const day = Math.floor(diff / (1000 * 3600 * 24))
  if (day) {
    return `${day}天前`
  }
  const hour = Math.floor(diff / (1000 * 3600))
  if (hour) {
    return `${hour}小时前`
  }
  const minute = Math.floor(diff / (1000 * 60))
  if (minute) {
    return `${minute}分钟前`
  } else {
    return '刚刚'
  }
}
复制代码

将日期格式改为:YYYY-MM-DD

export const formatDate = (dateTime) => {
  const date = new Date(dateTime) // 转换成Data();
  var y = date.getFullYear()
  var m = date.getMonth() + 1
  m = m < 10 ? '0' + m : m
  var d = date.getDate()
  d = d < 10 ? ('0' + d) : d
  return y + '-' + m + '-' + d
}
复制代码

从大数组中,选出没有在小数组中出现过的元素

export const arrSub = (allChannels, channels) => {
// 从大数组中,选出一些元素(没有在小数组中出现过)
const res = []
allChannels.forEach((item) => {
  const idx = channels.findIndex(val => {
    if (val.id === item.id) return true
  })
  if (idx === -1) {
    res.push(item)
  }
})
return res
}


// this.allChannels.filter((item) => !this.channels.some(index => index.name === item.name))
复制代码

以rgb格式设置随机颜色

function() {let r = Math.floor(Math.random() * 256);
            let g = Math.floor(Math.random() * 256);
            let b = Math.floor(Math.random() * 256);

            // 4. 给div设置背景颜色
           return `rgb(${r},${g},${b})`;
        }
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享