Day.js 是一个轻量级的 JavaScript 日期处理库,它提供了与 Moment.js 兼容的 API,但体积更小,压缩后仅有 2KB 左右。以下是 Day.js 的一些基本使用方法:
-
安装 Day.js:
- 通过 npm 安装:
npm install dayjs - 通过 yarn 安装:
yarn add dayjs - 或者在 HTML 文件中直接引入 CDN 链接:
<script src="https://unpkg.com/dayjs"></script>
- 通过 npm 安装:
-
在项目中使用 Day.js:
- 在 Node.js 项目中,可以通过
require方式引入:const dayjs = require("dayjs"); - 在现代 JavaScript 项目中,可以使用
import方式:import dayjs from 'dayjs';
- 在 Node.js 项目中,可以通过
-
创建日期对象:
- 获取当前日期和时间:
const now = dayjs(); console.log(now.toString()); // 输出类似于 "2023-11-09T14:00:00+08:00" - 解析指定的日期和时间:
const specificDate = dayjs('2023-01-01'); console.log(specificDate.toString()); // 输出 "2023-01-01T00:00:00+08:00"
- 获取当前日期和时间:
-
格式化日期:
- 使用
.format()方法将日期对象格式化为指定格式的字符串:const formattedDate = dayjs().format('YYYY-MM-DD'); console.log(formattedDate); // 输出当前日期,格式为 "年-月-日"
- 使用
-
解析日期字符串:
- Day.js 可以解析各种格式的日期字符串:
const date1 = dayjs('2024-07-27', 'YYYY-MM-DD'); console.log(date1.toString()); const date2 = dayjs('27/07/2024', 'DD/MM/YYYY'); console.log(date2.toString());
- Day.js 可以解析各种格式的日期字符串:
-
操作日期:
- Day.js 支持日期的加减操作:
const date = dayjs(); const nextWeek = date.add(7, 'day'); console.log(nextWeek.format('YYYY-MM-DD')); const lastMonth = date.subtract(1, 'month'); console.log(lastMonth.format('YYYY-MM-DD'));
- Day.js 支持日期的加减操作:
-
比较日期:
- Day.js 提供了日期比较的方法:
const date1 = dayjs('2024-07-27'); const date2 = dayjs('2024-08-01'); console.log(date1.isBefore(date2)); // 输出:true console.log(date1.isAfter(date2)); // 输出:false console.log(date1.isSame(date2)); // 输出:false
- Day.js 提供了日期比较的方法:
-
插件机制:
- Day.js 支持插件扩展,例如
relativeTime插件用于处理相对时间:import relativeTime from 'dayjs/plugin/relativeTime'; dayjs.extend(relativeTime); console.log(dayjs().fromNow()); // 输出如 "3 minutes ago"
- Day.js 支持插件扩展,例如
-
国际化支持:
- Day.js 支持多语言环境,可以按需引入不同的语言包:
import 'dayjs/locale/es'; // 引入西班牙语包 dayjs.locale('es'); // 设置当前语言为西班牙语 console.log(dayjs().format('LL')); // 格式化为 "DD [de] MMMM [de] YYYY"
- Day.js 支持多语言环境,可以按需引入不同的语言包: