Day.js 轻量日期库
Day.js(Moment.js替代/2KB/不可变/链式API):dayjs()创建、.format()/.add()/.subtract()/.startOf()/.endOf()/.diff()/.isBefore()/.isAfter()、高级插件AdvancedFormat/UTC/Timezone/Duration/RelativeTime/LocalizedFormat/Custom · 难度:入门 · +10XP
Day.js —— 2KB的Moment.js替代品
Moment.js曾是日期处理的标准,但已停止维护且体积庞大。Day.js只有2KB,API几乎完全兼容Moment.js,是不可变对象(更安全)。
基本用法
const dayjs = require('dayjs'); // 或CDN引入
dayjs().format('YYYY-MM-DD HH:mm:ss'); // 当前时间
dayjs('2024-01-15').add(7, 'day').format('YYYY-MM-DD'); // '2024-01-22'
dayjs('2024-01-15').subtract(1, 'month').format('YYYY-MM-DD'); // '2023-12-15'
dayjs('2024-01-15').diff('2024-01-01', 'day'); // 14
dayjs().startOf('month').format('YYYY-MM-DD'); // 本月第一天
dayjs().endOf('year').format('YYYY-MM-DD'); // 今年最后一天
dayjs('2024-01-15').isBefore('2024-06-01'); // true
dayjs('2024-01-15').fromNow(); // 相对时间显示
动手练习
- 基础练习:计算你出生了多少天。
- 进阶应用:做一个倒计时组件——距离目标日期还有X天X时X分X秒。
- 项目实战:把项目中Moment.js替换为Day.js(API几乎不变)。