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,你的电子学友。

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

相关推荐
张风捷特烈1 小时前
状态管理大乱斗#03 | Provider 源码全面评析
android·前端·flutter
灵感__idea7 小时前
Hello 算法:“走一步看一步”的智慧
前端·javascript·算法
吴文周8 小时前
告别重复劳动:一套插件让 AI 替你写代码、修Bug、做测试、上生产
前端·后端·ai编程
Mh9 小时前
我决定写一个 3D 地球仪来记录下我要去的地方
前端·javascript·动效
yaoxin5211239 小时前
390. Java IO API - WatchDir 示例
java·前端·python
懒狗小前端9 小时前
做了一个 codex 的中文文档网站,做的不好可以随便喷
前端·后端
. . . . .10 小时前
ref、useRef 和 forwardRef
前端·javascript·react.js
energy_DT10 小时前
2026年海上钻井平台数字孪生平台:引领海洋能源数字化转型
前端
Eric_见嘉11 小时前
在职前端 Agent 配置分享
前端·后端·agent
柚子81611 小时前
break跳出语句块的神奇技巧
前端·javascript