DayJs使用

Day.js

Moment.js 的 2kB 轻量化方案,拥有同样强大的 API


Gzip Size NPM Version Build Status Codecov License
Sauce Test Status

Day.js 是一个轻量的处理时间和日期的 JavaScript 库,和 Moment.js 的 API 设计保持完全一样. 如果您曾经用过 Moment.js, 那么您已经知道如何使用 Day.js

1
2
3
4
5
dayjs()
.startOf("month")
.add(1, "day")
.set("year", 2018)
.format("YYYY-MM-DD HH:mm:ss");
  • 🕒 和 Moment.js 相同的 API 和用法
  • 💪 不可变数据 (Immutable)
  • 🔥 支持链式操作 (Chainable)
  • 🌐 国际化 I18n
  • 📦 仅 2kb 大小的微型库
  • 👫 全浏览器兼容

快速开始

安装

1
npm install dayjs --save

📚安装指南

API

Day.js 有很多 API 来解析、处理、校验、增减、展示时间和日期

1
2
3
4
5
6
7
8
9
10
11
dayjs("2018-08-08"); // 解析

dayjs().format("{YYYY} MM-DDTHH:mm:ss SSS [Z] A"); // 展示

dayjs()
.set("month", 3)
.month(); // 获取

dayjs().add(1, "year"); // 处理

dayjs().isBefore(dayjs()); // 查询

📚API 参考

国际化 I18n

Day.js 支持国际化

但除非手动加载,多国语言默认是不会被打包到工程里的

1
2
3
4
5
6
7
import "dayjs/locale/es"; // 按需加载

dayjs.locale("es"); // 全局使用西班牙语

dayjs("2018-05-05")
.locale("zh-cn")
.format(); // 在这个实例上使用简体中文

📚国际化 I18n

插件

插件是一些独立的程序,可以给 Day.js 增加新功能和扩展已有功能

1
2
3
4
5
import advancedFormat from "dayjs/plugin/advancedFormat"; // 按需加载插件

dayjs.extend(advancedFormat); // 使用插件

dayjs().format("Q Do k kk X x"); // 使用扩展后的API

📚插件列表

开源协议

Day.js 遵循 MIT 开源协议.