Vue3 Hooks 时间戳 dayjs

263 阅读3分钟

定义了四个用于格式化时间戳的函数,依赖于 dayjs 库。下面讲解每个函数的作用、参数和返回值。

1. formatUnixTimestamp

/**
 * 格式化秒级时间戳
 *
 * @param timestamp - 秒级时间戳 Moment Cheng
 * @param format - 格式化字符串,默认为 'YYYY-MM-DD HH:mm:ss'
 *
 * @returns 格式化后的日期时间字符串
 */
function formatUnixTimestamp(timestamp: number, format: string = "YYYY-MM-DD HH:mm:ss"): string {
  if (timestamp === 0) {
    return "--";
  }
  const date = dayjs.unix(timestamp);
  return date.format(format);
}
  • 功能:将秒级时间戳(从1970年1月1日0点0分0秒到指定时间的秒数)格式化为指定格式的日期时间字符串。
  • 参数
    • timestamp:秒级时间戳,类型为 number
    • format:日期时间格式化字符串,默认为 'YYYY-MM-DD HH:mm:ss'。可以根据需要传递其他格式化字符串。
  • 返回值:格式化后的日期时间字符串。如果 timestamp0,则返回 "--"

2. formatMillisecondTimestamp

/**
 * 格式化毫秒级时间戳 Moment Cheng
 *
 * @param timestamp - 毫秒级时间戳
 * @param format - 格式化字符串,默认为 'YYYY-MM-DD HH:mm:ss'
 *
 * @returns 格式化后的日期时间字符串
 */
function formatMillisecondTimestamp(timestamp: number, format: string = "YYYY-MM-DD HH:mm:ss"): string {
  if (timestamp === 0) {
    return "--";
  }
  const date = dayjs(timestamp);
  return date.format(format);
}
  • 功能:将毫秒级时间戳(从1970年1月1日0点0分0秒到指定时间的毫秒数)格式化为指定格式的日期时间字符串。
  • 参数
    • timestamp:毫秒级时间戳,类型为 number
    • format:日期时间格式化字符串,默认为 'YYYY-MM-DD HH:mm:ss'。可以根据需要传递其他格式化字符串。
  • 返回值:格式化后的日期时间字符串。如果 timestamp0,则返回 "--"

3. formatYMD

/**
 * 格式化为日期(年月日)Moment Cheng
 *
 * @param timestamp - 秒级时间戳
 * @param format - 格式化字符串,默认为 'YYYY-MM-DD'
 *
 * @returns 格式化后的日期时间字符串
 */
function formatYMD(timestamp: number, format: string = "YYYY-MM-DD"): string {
  const date = dayjs.unix(timestamp);
  return date.format(format);
}
  • 功能:将秒级时间戳格式化为日期(年月日)。
  • 参数
    • timestamp:秒级时间戳,类型为 number
    • format:日期格式化字符串,默认为 'YYYY-MM-DD'。可以根据需要传递其他格式化字符串。
  • 返回值:格式化后的日期字符串。

4. formatHMS

/**
 * 格式化为时间(时分秒)Moment Cheng
 *
 * @param timestamp - 秒级时间戳
 * @param format - 格式化字符串,默认为 'HH:mm:ss'
 *
 * @returns 格式化后的日期时间字符串
 */
function formatHMS(timestamp: number, format: string = " HH:mm:ss"): string {
  const date = dayjs.unix(timestamp);
  return date.format(format);
}
  • 功能:将秒级时间戳格式化为时间(时分秒)。
  • 参数
    • timestamp:秒级时间戳,类型为 number
    • format:时间格式化字符串,默认为 'HH:mm:ss'。可以根据需要传递其他格式化字符串。
  • 返回值:格式化后的时间字符串。

注意事项

  1. dayjs:这些函数依赖于 dayjs 库进行日期时间的处理。确保在使用这些函数之前已经安装并引入了 dayjs
  2. 时间戳类型formatUnixTimestampformatYMDformatHMS 函数假设 timestamp 是秒级时间戳,而 formatMillisecondTimestamp 函数假设 timestamp 是毫秒级时间戳。确保传递给函数的时间戳与函数的预期类型相匹配。

这些函数可以帮助将时间戳转化为可读的日期时间格式,适用于日志记录、用户界面展示等场景。