/* eslint-disable @tuya-fe/i18n-detection */
import moment from 'moment'

const defaultFormat = 'YYYY-MM-DD'
// 获取时间格式: 毫秒
export const formatDate = (
  date?: moment.MomentInput | string,
  format = defaultFormat,
  defaultValue = '-',
): string => {
  if (date) {
    return moment(date).format(format)
  }
  return defaultValue
}

export const getMoment = (date) => moment(date)

// 获取当日0点时间
export const getStartTime = (date: any) => {
  return new Date(new Date(date).toLocaleDateString()).getTime()
}

// 获取当日23点59分时间
export const getEndTime = (date: any) => {
  const dayDate = 24 * 60 * 60 * 1000 - 1
  return new Date(new Date(new Date(date).toLocaleDateString()).getTime() + dayDate).getTime()
}

/**
 * 毫秒转化为天小时分钟秒
 * @param msParams 毫秒值
 * @return string
 */
export const formatTimeMsToString = (msParams: number | string) => {
  const ms = +msParams
  const ss = 1000
  const mi = ss * 60
  const hh = mi * 60
  const dd = hh * 24
  const day = parseInt(`${ms / dd}`)
  const hour = parseInt(`${(ms - day * dd) / hh}`)
  const minute = parseInt(`${(ms - day * dd - hour * hh) / mi}`)
  const second = parseInt(`${(ms - day * dd - hour * hh - minute * mi) / ss}`)

  if (!day && !hour && !minute && !!second) {
    return '<1分钟'
  }

  let str = ''
  if (day > 0) {
    str = `${str}${day}天`
  }
  if (hour > 0) {
    str = `${str}${hour}小时`
  }
  if (minute > 0) {
    str = `${str}${minute}分钟`
  }
  // if (second > 0) {
  //   str = `${str}${second}秒`
  // }

  return str
}
// 相对时间
export const toDuration = function (val) {
  const cTime = new Date().getTime() // 当前时间
  const tTime = val // 目标时间
  const diffTime = cTime - tTime
  //秒-分-时-日-月-年
  //console.info(diffTime);
  if (diffTime < 1000) {
    return '刚刚'
  } else if (diffTime <= 60000) {
    // (60 * 1000)
    return Math.round(diffTime / 1000) + '秒前'
  } else if (diffTime <= 3600000) {
    // (60 * 60 * 1000)
    return Math.round(diffTime / 60000) + '分钟前' // (60 * 1000)
  } else if (diffTime <= 86400000) {
    // (24* 60 * 60 * 1000)
    return Math.round(diffTime / 3600000) + '时前' // (60 * 60 * 1000)
  } else if (diffTime <= 2592000000) {
    // (30 * 24 * 60 * 60 * 1000)
    return Math.round(diffTime / 86400000) + '天前' // (24 * 60 * 60 * 1000)
  } else if (diffTime <= 31104000000) {
    // (12 * 30 * 24 * 60 * 60 * 1000)
    return Math.round(diffTime / 2592000000) + '月前' // (30 * 24 * 60 * 60 * 1000)
  } else {
    return Math.round(diffTime / 31104000000) + '年前' // (12 * 30 * 24 * 60 * 60 * 1000)
  }
}

export const HoursTip = function () {
  const date = new Date()
  let hoursTip = ''
  if (date.getHours() >= 0 && date.getHours() < 12) {
    hoursTip = '上午好'
  } else if (date.getHours() >= 12 && date.getHours() < 18) {
    hoursTip = '下午好'
  } else {
    hoursTip = '晚上好'
  }
  return hoursTip
}

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-08
  • 2021-12-26
  • 2022-01-01
  • 2021-11-04
  • 2021-11-22
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-10-21
  • 2022-12-23
  • 2022-12-23
  • 2022-03-10
  • 2022-12-23
相关资源
相似解决方案