Skip to content
Navigation

useFormat

提供一些常用的格式化数据的方法。

formatTime

格式化时间的显示格式。

  • Supported Platforms:
Browser
Electron
App
Server
Scriptlet
  • Type Declarations:
ts
declare function formatTime(
  /**
   * 要用于格式化的时间
   */
  time: Date | number,

  /**
   * 要转换的格式
   * @tips 格式更规范化,例如必须是 `yyyy-MM-dd` 而不是 `YYYY-MM-DD`
   * @see https://github.com/date-fns/date-fns/blob/main/docs/unicodeTokens.md
   */
  format: string
): string
  • Example:
ts
import { useFormat } from '@lunarxyz/core'

const { formatTime } = useFormat()

const now = Date.now()
console.log(formatTime(now, 'yyyy-MM-dd')) // 2022-08-14
console.log(formatTime(now, 'yyyy-MM-dd hh:mm:ss')) // 2022-08-14 05:14:45
console.log(formatTime(now, 'yyyy-MM-dd HH:mm:ss')) // 2022-08-14 17:14:45
console.log(formatTime(now, 'yyyy/MM/dd')) // 2022/08/14
console.log(formatTime(now, 'yyyy年MM月dd日')) // 2022年08月14日

timeAgo

计算指定的时间到现在的相对时间。

TIP

如果传入的时间超过当前时间,则返回一个空字符串 ''

  • Supported Platforms:
Browser
Electron
App
Server
Scriptlet
  • Type Declarations:
ts
declare function timeAgo(
  /**
   * 要用于计算的时间
   */
  time: Date | number
): string
  • Example:
ts
import { useFormat } from '@lunarxyz/core'

const { timeAgo } = useFormat()

// 传入当前时间戳
console.log(timeAgo(Date.now())) // 不到 1 分钟前

// 传入某一日期的时间戳
console.log(timeAgo(+new Date('2022-08-01'))) // 13 天前

// 传入一个日期
console.log(timeAgo(new Date('2022-08-01'))) // 13 天前

timeDistance

计算两个时间的相对时间距离(支持任意两个时间的对比)。

  • Supported Platforms:
Browser
Electron
App
Server
Scriptlet
  • Type Declarations:
ts
declare function timeDistance(
  /**
   * 要用于计算的时间
   */
  time: Date | number,

  /**
   * 用来对比的基线时间
   */
  baseTime: Date | number
): string
  • Example:
ts
import { useFormat } from '@lunarxyz/core'

const { timeDistance } = useFormat()

// 基线时间比当前时间小
console.log(timeDistance(Date.now(), +new Date('2022-08-01'))) // 13 天内

// 基线时间比当前时间大
console.log(timeDistance(+new Date('2022-08-01'), Date.now())) // 13 天前

// 任意两个时间对比
console.log(timeDistance(new Date('2022-08-01'), new Date('2022-08-10'))) // 9 天前

formatVideoDuration

格式化视频播放时长,可以把秒数转换为 00:00:00 这样的播放时长格式。

  • Supported Platforms:
Browser
Electron
App
Server
Scriptlet
  • Type Declarations:
ts
declare function formatVideoDuration(
  /**
   * 总秒数
   */
  seconds: number
): string
  • Example:
ts
import { useFormat } from '@lunarxyz/core'

const { formatVideoDuration } = useFormat()

console.log(formatVideoDuration(10)) // 00:00:10
console.log(formatVideoDuration(100)) // 00:01:40
console.log(formatVideoDuration(1000)) // 00:16:40
console.log(formatVideoDuration(10000)) // 02:46:40

formatSN

格式化序列号,可将接口返回的数字序列表转换为 #001 的格式。

TIP

当传入负数或者超过 3 位数时会返回空值

  • Supported Platforms:
Browser
Electron
App
Server
Scriptlet
  • Type Declarations:
ts
declare function formatSN(
  /**
   * 序列号
   */
  sn: number
): string
  • Example:
ts
import { useFormat } from '@lunarxyz/core'

const { formatSN } = useFormat()

console.log(formatSN(1)) // #001
console.log(formatSN(12)) // #012
console.log(formatSN(123)) // #123

Released under the MIT License.