dayjs-时间处理

113 阅读3分钟

安装

npm

npm install dayjs

yarn

yarn add dayjs

导入

import dayjs from "dayjs"
// dayjs()默认获取当前时间
dayjs().format('YYYY-MM-DD')

用法

格式化

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日,两位数
d0-6一周中的一天,星期天是 0
ddSu-Sa最简写的星期几
dddSun-Sat简写的星期几
ddddSunday-Saturday星期几,英文全称
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 的偏移量,±HH:mm
ZZ-0500UTC 的偏移量,±HHmm
AAM / PM上/下午,大写
aam / pm上/下午,小写
Do1st... 31st月份的日期与序号
......其他格式 ( 依赖 AdvancedFormat 插件 )

操作

相对于给定时间,增加或减少天数

dayjs('2019-01-25').add(1, 'day').subtract(1, 'year').year(2009).toString()

增加

返回增加一定时间的复制的 Day.js 对象。

dayjs().add(7, 'day')

支持的单位列表:

单位缩写描述
dayd
weekw
monthM月份(0-11)
quarterQ季度,依赖 QuarterOfYear 插件
yeary
hourh小时
minutem分钟
seconds
millisecondms毫秒

减去

返回减去一定时间的复制的 Day.js 对象。

dayjs().subtract(7, 'year')

时间的开始

返回复制的 Day.js 对象,并设置到一个时间的开始。(比如设置为year,就是当年的第一天)

dayjs().startOf('year')

支持的单位列表:

单位缩写描述
dateD当天 00:00
dayd当天 00:00
monthM本月1日上午 00:00
quarterQ本季度第一个月1日上午 00:00,依赖 QuarterOfYear 插件
yeary今年一月1日上午 00:00
weekw本周的第一天上午 00:00
isoWeek本周的第一天上午 00:00 (根据 ISO 8601) , ( 依赖 IsoWeek 插件 )
hourh当前时间,0 分、0 秒、0 毫秒
minutem当前时间,0 秒、0 毫秒
seconds当前时间,0 毫秒

时间的结束

返回复制的 Day.js 对象,并设置到一个时间的末尾。(比如设置为year,就是当年的最后一天)

dayjs().endOf('month')