Day.js API 不包含插件API的速查表

有没有同学不想查官网还想快速的找到api是怎么用的?看这里,一文帮助你快速的找到Day.js的不包含插件的API。如果有没说明清楚的地方欢迎在评论区指正。

中文官网的链接:Day.js

一、创建和解析日期

API 作用 示例 说明
dayjs() 获取当前时间 dayjs() 返回当前日期时间
dayjs(字符串) 解析日期字符串 dayjs('2025-02-20') 支持 YYYY-MM-DDYYYY-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,你的电子学友。

如果文章对你有帮助,别忘了点赞、收藏、加关注,你的认可是我持续输出的最大动力~

相关推荐
坚持学习前端日记23 分钟前
AI 产品开发经验
前端·javascript·人工智能·visual studio
张一凡9324 分钟前
easy-model:简化领域驱动开发的理想选择
前端·react.js
雾削木30 分钟前
STM32输入捕获测量PWM频率占空比
前端·javascript·stm32
weixin1997010801631 分钟前
淘宝客商品详情页前端性能优化实战
java·前端·python·性能优化
JamesYoung797134 分钟前
第八部分 — UI 表面 动作(工具栏)、徽标、弹出窗口
前端·javascript
Joker Zxc36 分钟前
【前端基础(Javascript部分)】5、JavaScript的循环语句
开发语言·前端·javascript
星辰_mya1 小时前
无锁编程:并发的“珠穆朗玛峰”与 F1 的“无缝换挡”
java·开发语言·面试
山栀shanzhi1 小时前
C++ 核心机制解析:#pragma once 与 extern 的具体职责与区别
开发语言·c++·面试
努力学算法的蒟蒻1 小时前
day112(3.14)——leetcode面试经典150
面试·职场和发展