有没有同学不想查官网还想快速的找到api是怎么用的?看这里,一文帮助你快速的找到Day.js的不包含插件的API。如果有没说明清楚的地方欢迎在评论区指正。
中文官网的链接:Day.js
一、创建和解析日期
| API | 作用 | 示例 | 说明 |
|---|---|---|---|
dayjs() |
获取当前时间 | dayjs() |
返回当前日期时间 |
dayjs(字符串) |
解析日期字符串 | dayjs('2025-02-20') |
支持 YYYY-MM-DD、YYYY-MM-DD HH:mm:ss 等 |
dayjs(数字) |
解析时间戳 | dayjs(1708416000000) |
毫秒级时间戳 |
dayjs(Date对象) |
从原生 Date 创建 | dayjs(new Date()) |
包装原生 JS 的 Date |
.isValid() |
判断是否合法日期 | dayjs('abc').isValid() |
返回 true / false |
二、格式化输出(转成字符串)
| 格式符 | 含义 | 示例输出 |
|---|---|---|
YYYY |
4位年份 | 2025 |
YY |
2位年份 | 25 |
MM |
2位月份(01-12) | 02 |
M |
月份(1-12) | 2 |
DD |
2位日期(01-31) | 20 |
D |
日期(1-31) | 20 |
HH |
24小时制小时(00-23) | 14 |
hh |
12小时制小时 | 02 |
mm |
分钟(00-59) | 30 |
ss |
秒(00-59) | 45 |
A |
上午/下午 | AM / PM |
使用示例:
| 写法 | 示例输出 |
|---|---|
.format('YYYY-MM-DD') |
2025-02-20 |
.format('YYYY-MM-DD HH:mm:ss') |
2025-02-20 14:30:45 |
.format('YYYY年MM月DD日') |
2025年02月20日 |
.format('MM/DD/YY') |
02/20/25 |
三、获取时间各部分
| API | 作用 | 返回值示例 |
|---|---|---|
.year() |
获取年份 | 2025 |
.month() |
获取月份 | 1(注意:0=1月,11=12月) |
.date() |
获取日期(几号) | 20 |
.day() |
获取星期几 | 4(0=周日,6=周六) |
.hour() |
获取小时 | 14 |
.minute() |
获取分钟 | 30 |
.second() |
获取秒 | 45 |
.millisecond() |
获取毫秒 | 123 |
.unix() |
获取秒级时间戳 | 1708416045 |
.valueOf() |
获取毫秒级时间戳 | 1708416045123 |
四、设置时间(修改某一项)
| API | 作用 | 示例 |
|---|---|---|
.year(年份) |
设置年份 | dayjs().year(2026) |
.month(月份) |
设置月份 | dayjs().month(5)(6月,0起算) |
.date(日期) |
设置几号 | dayjs().date(15) |
.hour(小时) |
设置小时 | dayjs().hour(12) |
.minute(分钟) |
设置分钟 | dayjs().minute(0) |
.second(秒) |
设置秒 | dayjs().second(0) |
五、增减时间(加减几天、几月等)
| API | 作用 | 示例 |
|---|---|---|
.add(数量, 单位) |
加时间 | dayjs().add(3, 'day') 加 3 天 |
.subtract(数量, 单位) |
减时间 | dayjs().subtract(1, 'month') 减 1 个月 |
常用单位:
| 单位 | 含义 |
|---|---|
'year' / 'y' |
年 |
'month' / 'M' |
月 |
'week' / 'w' |
周 |
'day' / 'd' |
天 |
'hour' / 'h' |
小时 |
'minute' / 'm' |
分钟 |
'second' / 's' |
秒 |
示例:
javascript
dayjs().add(7, 'day') // 7天后
dayjs().subtract(1, 'year') // 1年前
dayjs().add(2, 'hour').add(30, 'minute') // 可链式调用
六、获取时间段的开始/结束
| API | 作用 | 示例 |
|---|---|---|
.startOf(单位) |
取该单位起始时间 | dayjs().startOf('month') → 本月 1 号 00:00:00 |
.endOf(单位) |
取该单位结束时间 | dayjs().endOf('month') → 本月最后一天 23:59:59.999 |
常用单位: 'year' 'month' 'week' 'day' 'hour' 'minute'
七、日期比较
| API | 作用 | 返回值 |
|---|---|---|
.isBefore(其他日期) |
是否在某日期之前 | true / false |
.isAfter(其他日期) |
是否在某日期之后 | true / false |
.isSame(其他日期) |
是否相同 | true / false |
.isSame(其他日期, 单位) |
是否在某一单位内相同 | 如 .isSame(other, 'day') 是否同一天 |
.isBetween(开始, 结束) |
是否在区间内 | true / false |
示例:
javascript
dayjs('2025-02-20').isBefore('2025-02-21') // true
dayjs('2025-02-20').isAfter('2025-02-19') // true
dayjs('2025-02-20 14:00').isSame(dayjs('2025-02-20 15:00'), 'day') // true(同一天)
八、计算时间差
| API | 作用 | 示例 |
|---|---|---|
.diff(其他日期, 单位) |
计算时间差 | dayjs('2025-03-01').diff(dayjs('2025-02-20'), 'day') → 9 |
常用单位: 'year' 'month' 'week' 'day' 'hour' 'minute' 'second'
九、其他常用方法
| API | 作用 |
|---|---|
.toDate() |
转成原生 JavaScript Date 对象 |
.clone() |
克隆一份,避免修改原对象 |
.isValid() |
检查日期是否合法 |
十、小白入门示例
javascript
// 1. 获取今天
const today = dayjs();
// 2. 格式化显示
today.format('YYYY年MM月DD日 HH:mm'); // "2025年02月20日 14:30"
// 3. 获取3天后的日期
const after3Days = dayjs().add(3, 'day');
// 4. 判断是否过期
const expired = dayjs('2025-01-01').isBefore(dayjs());
// 5. 获取本月第一天
const firstDay = dayjs().startOf('month');
提示: dayjs 是不可变的,每次操作都会返回新对象,不会修改原日期,可放心链式调用。
以上就是本次的学习分享,欢迎大家在评论区讨论指正,与大家共勉。
我是 Eugene,你的电子学友。
如果文章对你有帮助,别忘了点赞、收藏、加关注,你的认可是我持续输出的最大动力~