vue3 | dayjs插件 | 时间处理 | 标准时间格式转换、时间差计算

985 阅读3分钟

官网:day.js.org/docs/en/ins…

image.png Day.js是一个极简的JavaScript库,可以为现代浏览器解析、验证、操作和显示日期和时间。

安装

要在您的 Node.js 项目中使用 Day.js,只需使用npm安装

npm install dayjs

引入

import dayjs from 'dayjs'

使用

当前时间

直接调用 dayjs() 将返回一个包含当前日期和时间的 Day.js 对象。

let now = dayjs()

等同于 dayjs(new Date()) 的调用。

当没有传入参数时,参数默认值是 undefined,所以调用 dayjs(undefined) 就相当于调用

格式化日期

dayjs().format() // 默认返回的是 ISO8601 格式字符串 '2020-04-02T08:02:17-05:00' 
dayjs('2019-01-25').format('[YYYYescape] YYYY-MM-DDTHH:mm:ssZ[Z]') // 'YYYYescape 2019-01-25T00:00:00-02:00Z' 
dayjs('2019-01-25').format('DD/MM/YYYY') // '25/01/2019'

支持的解析占位符列表:

输入示例描述
YY18两位数的年份
YYYY2018四位数的年份
M1-12月份,从 1 开始
MM01-12月份,两位数
MMMJan-Dec缩写的月份名称
MMMMJanuary-December完整的月份名称
D1-31月份里的一天
DD01-31月份里的一天,两位数
H0-23小时
HH00-23小时,两位数
h1-12小时, 12 小时制
hh01-12小时, 12 小时制, 两位数
m0-59分钟
mm00-59分钟,两位数
s0-59
ss00-59秒,两位数
S0-9毫秒,一位数
SS00-99毫秒,两位数
SSS000-999毫秒,三位数
Z-05:00UTC 的偏移量
ZZ-0500UTC 的偏移量,两位数
AAM / PM上午 下午 大写
aam / pm上午 下午 小写
Do1st... 31st带序数词的月份里的一天
X1410715640.579Unix 时间戳
x1410715640579Unix 时间戳

时间差

这表示指定单位中两个日期时间之间的差异。

要获得以毫秒为单位的差异,请使用 dayjs#diff

const date1 = dayjs('2019-01-25')
const date2 = dayjs('2018-06-05')
date1.diff(date2) // 20214000000 default milliseconds

要获得另一个测量单位的差异,请将该测量值作为第二个参数传递。

const date1 = dayjs('2019-01-25')
date1.diff('2018-06-05', 'month') // 7

默认情况下,dayjs#diff 会将结果截断为零位小数,返回一个整数。如果你想要浮点数,请传递 true 作为第三个参数。

const date1 = dayjs('2019-01-25')
date1.diff('2018-06-05', 'month', true) // 7.645161290322581

所有可用单位的列表

单位不区分大小写,并支持复数和缩写形式。请注意,缩写形式区分大小写。

单位速记描述
dayd
weekw
quarterQ季度
monthM月份(1 月为 0,12 月为 11)
yeary年份
hourh小时
minutem分钟
seconds
millisecondms毫秒

还有更多可以去官方中文文档dayjs.fenxianglu.cn/category/pa… 研究,按需使用就行