-
安装
npm install dayjs import dayjs from "dayjs";
-
获取当前日期
dayjs().format(); //2024-01-16T09:04:27+08:00
-
获取年、月、日、时、分、秒、毫秒
dayjs().year(); // 2024 dayjs().momth(); // 1 dayjs().(); // 16 dayjs().hour(); // 9 dayjs().minute(); // 12 dayjs().second(); // 35 dayjs().millisecond(); // 410
-
获取周、星期、季度
dayjs().week(); // 3 今年第3周 dayjs().day(); // 2 星期2 dayjs().isoWeeksInYear(); // 52 今年周数 //week 依赖插件weekOfYear var weekOfYear = require('dayjs/plugin/weekOfYear') dayjs.extend(weekOfYear) //isoWeeksInYear依赖插件isoWeeksInYear var isoWeeksInYear = require('dayjs/plugin/isoWeeksInYear') var isLeapYear = require('dayjs/plugin/isLeapYear') // dependent on isLeapYear plugin dayjs.extend(isoWeeksInYear) dayjs.extend(isLeapYear)
-
格式化
格式
输出
说明
格式
输出
说明
YY
18
年,两位数
hh
01-12
小时, 12 小时制, 两位数
YYYY
2018
年,四位数
m
0-59
分钟
M
1-12
月,从1开始
mm
00-59
分钟,两位数
MM
01-12
月,两位数
s
0-59
秒
MMM
Jan-Dec
月,英文缩写
ss
00-59
秒,两位数
MMMM
January-December
月,英文全称
S
0-9
毫秒(十),一位数
D
1-31
日
SS
00-99
毫秒(百),两位数
DD
01-31
日,两位数
SSS
000-999
毫秒,三位数
d
0-6
一周中的一天,星期天是 0
Z
-05:00
UTC 的偏移量,±HH:mm
dd
Su-Sa
最简写的星期几
ZZ
-0500
UTC 的偏移量,±HHmm
ddd
Sun-Sat
简写的星期几
A
AM / PM
上/下午,大写
dddd
Sunday-Saturday
星期几,英文全称
a
am / pm
上/下午,小写
H
0-23
小时
Do
1st... 31st
月份的日期与序号
HH
00-23
小时,两位数
...
...
其他格式 ( 依赖 AdvancedFormat 插件 )
h
1-12
小时, 12 小时制
-
格式化年月日: YYYY年MM月DD日
dayjs().format('YYYY年MM月DD日') //22024年01月16日
-
格式化年月日: YYY-MM-DD
dayjs().format('YYYY-MM-DD'); //2024-01-16
-
格式化时分秒:HH时mm分ss秒
dayjs().format('HH时mm分ss秒'); //09时59分33秒
-
格式化时分秒: HH:mm:ss
dayjs().format('HH:mm:ss'); //10:00:01 dayjs().format('HH:mm:ss a'); //10:00:01 am
-
-
查询
-
获取过去的时间
dayjs().subtract(1, 'year').format('YYYY-MM-DD'); //2023-01-16 dayjs().subtract(1, 'months').format('YYYY-MM-DD'); //2023-12-16 dayjs().subtract(1, 'days').format('YYYY-MM-DD'); //2024-01-15 dayjs().subtract(1, 'hours').format('HH:mm:ss'); //09:48:39 dayjs().subtract(1, 'minute').format('HH:mm:ss'); //10:47:39 dayjs().subtract(1, 'seconds').format('HH:mm:ss'); //10:48:38 dayjs('2023-12-12').subtract(1, 'year').format('YYYY-MM-DD'); //2022-12-12 dayjs('2023-12-12').subtract(1, 'months').format('YYYY-MM-DD'); //2023-11-12 dayjs('2023-12-12').subtract(1, 'days').format('YYYY-MM-DD'); //2023-12-11 dayjs('2023-12-12').subtract(1, 'hours').format('YYY-MM-DD HH:mm:ss'); //2023-12-11 23:00:00 dayjs('2023-12-12').subtract(1, 'minute').format('YYY-MM-DD HH:mm:ss'); //2023-12-11 23:59:00 dayjs('2023-12-12').subtract(1, 'seconds').format('HH:mm:ss'); //23:59:59
-
获取将来的时间dayjs().add(),用法同dayjs().subtract()
dayjs('2023-12-12').add(1, 'year').format('YYYY-MM-DD'); //2024-12-12 dayjs('2023-12-12').add(1, 'months').format('YYYY-MM-DD'); //2024-01-12 dayjs('2023-12-12').add(1, 'days').format('YYYY-MM-DD'); //2023-12-13 dayjs('2023-12-12').add(1, 'hours').format('YYY-MM-DD HH:mm:ss'); //2023-12-12 01:00:00 dayjs('2023-12-12').add(1, 'minute').format('YYY-MM-DD HH:mm:ss'); //2023-12-12 00:01:00 dayjs('2023-12-12').add(1, 'seconds').format('HH:mm:ss'); //00:00:01
-
判断日期时间
-
是否之前
//这表示 Day.js 对象是否在另一个提供的日期时间之前 dayjs().isBefore(dayjs('2023-12-12')) // 默认毫秒 //如果想使用除了毫秒以外的单位进行比较,则将单位作为第二个参数传入。 dayjs().isBefore('2011-01-01', 'year') //各个传入的单位对大小写不敏感,支持缩写和复数
-
是否相同
//这表示 Day.js 对象是否和另一个提供的日期时间相同。 dayjs().isSame(dayjs('2011-01-01')) // 默认毫秒 //如果想使用除了毫秒以外的单位进行比较,则将单位作为第二个参数传入。 //当使用第二个参数时,将会连同去比较更大的单位。 如传入 month 将会比较 month 和 year。 //传入 day 将会比较 day、 month和 year。 dayjs().isSame('2011-01-01', 'year') //注意:isSame() 方法不传参数或参数为 undefined 都默认返回true
-
是否之后
//这表示 Day.js 对象是否在另一个提供的日期时间之后 dayjs().isAfter(dayjs('2011-01-01')) // 默认毫秒 // 其他写法 dayjs('2011-01-02').isAfter('2011-01-01') // true dayjs('2011-01-02', 'YYYY-MM-DD').isAfter('2011-01-01') // true dayjs(dayjs('2011-01-02')).isAfter(dayjs('2011-01-01')) // true dayjs(dayjs('2011-01-02', 'YYYY-MM-DD')).isAfter(dayjs('2011-01-01', 'YYYY-MM-DD')) // true dayjs(new Date('2011-01-02')).isAfter(new Date('2011-01-01')) // true //如果想使用除了毫秒以外的单位进行比较,则将单位作为第二个参数传入。 dayjs().isAfter('2011-01-01', 'year')
-
其他
//是否相同或之前 isSameOrBefore //否相同或之后 //isSameOrAfter //是否两者之间 isBetween //是否dayjs isDayjs //是否闰年 isLeapYear 详情见文档: https://dayjs.fenxianglu.cn/category/query.html#%E6%98%AF%E5%90%A6%E6%98%AFday-js
-
-
-
常用场景
//上周 dayjs().subtract(1, 'week').format('YYYY-MM-DD HH:mm:ss'); //2024-01-09 11:41:23 // 获取上周的开始日期和结束日期 const lastWeekStart = dayjs().subtract(1, 'week').startOf('week').format('YYYY-MM-DD'); const lastWeekEnd = dayjs().subtract(1, 'week').endOf('week').format('YYYY-MM-DD'); //上个季度 //安装季度插件 let quarterOfYear = require('dayjs/plugin/quarterOfYear')//day.js季度插件 dayjs.extend(quarterOfYear) // 获取上周的开始日期和结束日期 const start = dayjs().add(-1, 'quarter').startOf('quarter').format('YYYY-MM-DD'); const end = dayjs().add(-1, 'quarter').endOf('quarter').format('YYYY-MM-DD'); //上个月第一天 const start = dayjs().add(-1, 'month').startOf('month').format('YYYY-MM-DD'); //上个月最后一天 const end = dayjs().add(-1, 'month').endOf('month').format('YYYY-MM-DD'); //昨天 const start = dayjs().add(-1, 'day').startOf('day').format('YYYY-MM-DD'); //上个月前五天 const start = dayjs().add(-1, 'month').startOf('month').format('YYYY-MM-DD'); const end = dayjs().add(-1, 'month').startOf('month').add(4, 'day').format('YYYY-MM-DD'); //上个月后五天 const start = dayjs().add(-1, 'month').endOf('month').format('YYYY-MM-DD'); const end = dayjs().add(-1, 'month').endOf('month').add(-4, 'day').format('YYYY-MM-DD'); //前一周 const start = dayjs().add(-1, 'week').format('YYYY-MM-DD'); //前30天 const start = dayjs().add(-1, 'month').format('YYYY-MM-DD'); //前90天 const start = dayjs().add(-3,'month').format('YYYY-MM-DD');
DayJS的使用教程
最新推荐文章于 2025-04-08 11:29:45 发布