dayjs 如何实现相对时间

1,133 阅读1分钟

一、需求分析

需求:将标准时间转换成相对时间。如:将 2022-04-07 转换成 1 天前。怎么办?

分析:相对时间处理是一个非常通用的功能,在 dayjs 中有现成的解决方案,我们一起来观摩观摩。

二、实现步骤

  1. 下包
yarn add dayjs 或 npm i dayjs
  1. 引入dayjs
import dayjs from 'dayjs'
  1. 引入插件
import _relativeTime from 'dayjs/plugin/relativeTime'
  1. dayjs.extend(插件)
dayjs.extend(_relativeTime)
  1. 调用插件中特有的功能(测试)
console.log( dayjs('2022-09-14').fromNow() )
  1. dayjs的国际化
import 'dayjs/locale/zh-cn'
dayjs.locale('zh-cn')
  1. 局部使用
import dayjs from 'dayjs'
import _relativeTime from 'dayjs/plugin/relativeTime'
import 'dayjs/locale/zh-cn'
dayjs.extend(_relativeTime)
dayjs.locale('zh-cn')
// 省略其他
<span>{dayjs('2022-09-14').fromNow()}</span>
  1. 封装成工具函数(全局可使用)
import dayjs from 'dayjs'
import _relativeTime from 'dayjs/plugin/relativeTime'
import 'dayjs/locale/zh-cn'
dayjs.extend(_relativeTime)
dayjs.locale('zh-cn')
export const relativeTime = (strDate: string) => {
  return dayjs(strDate).fromNow()
}
  1. 全局导入使用
import { relativeTime } from '@/utils/relativeTime'
// 省略其他。。。
<span>{relativeTime('2022-09-14')}</span>

更多内容,可以查看官方文档