guoshilong
2023-11-13 54849757852f6ab40eb17afbd03d1d839b60a38d
src/utils/time.ts
@@ -14,37 +14,42 @@
  return time ? moment.unix(time).format(format) : DEFAULT_PLACEHOLDER
}
export function dateFormat(date:any, format:string) {
  format = format || 'yyyy-MM-dd hh:mm:ss';
export function dateFormat (date:any, format:string) {
  format = format || 'yyyy-MM-dd hh:mm:ss'
  if (date !== 'Invalid Date') {
    let o = {
      "M+": date.getMonth() + 1, //month
      "d+": date.getDate(), //day
      "h+": date.getHours(), //hour
      "m+": date.getMinutes(), //minute
      "s+": date.getSeconds(), //second
      "q+": Math.floor((date.getMonth() + 3) / 3), //quarter
      "S": date.getMilliseconds() //millisecond
    const o = {
      'M+': date.getMonth() + 1, // month
      'd+': date.getDate(), // day
      'h+': date.getHours(), // hour
      'm+': date.getMinutes(), // minute
      's+': date.getSeconds(), // second
      'q+': Math.floor((date.getMonth() + 3) / 3), // quarter
      S: date.getMilliseconds() // millisecond
    }
    if (/(y+)/.test(format)) format = format.replace(RegExp.$1,
        (date.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (let k in o)
      if (new RegExp("(" + k + ")").test(format))
    if (/(y+)/.test(format)) {
      format = format.replace(RegExp.$1,
        (date.getFullYear() + '').substr(4 - RegExp.$1.length))
    }
    for (const k in o) {
      if (new RegExp('(' + k + ')').test(format)) {
        format = format.replace(RegExp.$1,
            RegExp.$1.length === 1 ? o[k] :
                ("00" + o[k]).substr(("" + o[k]).length));
    return format;
          RegExp.$1.length === 1
            ? o[k]
            : ('00' + o[k]).substr(('' + o[k]).length))
      }
    }
    return format
  }
  return '';
  return ''
}
export function convertTimestampToDate(timestamp:any, format:string) {
  if (timestamp && (typeof timestamp === "string") && timestamp.indexOf("-") > -1) {
    timestamp = timestamp.replace(/\-/g, "/")
export function convertTimestampToDate (timestamp:any, format?:string) {
  if (timestamp && (typeof timestamp === 'string') && timestamp.indexOf('-') > -1) {
    // eslint-disable-next-line no-useless-escape
    timestamp = timestamp.replace(/\-/g, '/')
  }
  let time = new Date(timestamp)
  let formatterTime = dateFormat(time, format)
  const time = new Date(timestamp)
  const formatterTime = dateFormat(time, format)
  return formatterTime
}
@@ -52,12 +57,50 @@
export const timestampToTime = (timestamp:number) => {
  if (!timestamp) return
  // 时间戳为10位需*1000,时间戳为13位不需乘1000
  var date = new Date(timestamp);
  var Y = date.getFullYear() + "-";
  var M =
  const date = new Date(timestamp)
  const Y = date.getFullYear() + '-'
  const M =
      (date.getMonth() + 1 < 10
          ? "0" + (date.getMonth() + 1)
          : date.getMonth() + 1) + "-";
  var D = (date.getDate() < 10 ? "0" + date.getDate() : date.getDate());
  return Y + M + D;
        ? '0' + (date.getMonth() + 1)
        : date.getMonth() + 1) + '-'
  const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate())
  return Y + M + D
}
// 获取时间戳对应的日期
export const getDateFromTimestamp = (timestamp:number) => {
  const date = new Date(timestamp)
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()
  const hours = date.getHours()
  const minutes = date.getMinutes()
  const seconds = date.getSeconds()
  return { year, month, day, hours, minutes, seconds }
}
// 将日期设置为今天的日期,返回时间戳
export const setTodayTime = (dateObj:any) => {
  const today = new Date()
  const year = today.getFullYear()
  const month = today.getMonth()
  const day = today.getDate()
  const { hours, minutes, seconds } = dateObj
  return new Date(year, month, day, hours, minutes, seconds).getTime()
}
// 判断任务状态是否是当天进行对比
export const isToday = (timestamp:number) => {
  const { hours, minutes, seconds } = getDateFromTimestamp(timestamp)
  const todayTaskTimestamp = setTodayTime({ hours, minutes, seconds })
  // 判断传过来的时间戳是否是今天任务时间时间戳
  if (timestamp === todayTaskTimestamp) {
    return true
  } else if (todayTaskTimestamp < timestamp) {
    return false
  } else {
    const oneDayTimestamp = 24 * 60 * 60 * 1000
    timestamp += oneDayTimestamp
    isToday(timestamp)
  }
}