什么是Day.js
Day.js 是一個輕量的處理時間和日期的 JavaScript 庫,和 Moment.js 的 API 設計保持完全一樣. 如果您曾經用過 Moment.js, 那么您已經知道如何使用 Day.js
簡單地說,只要你會Moment.js,那么你就會Day.js!
但是我們知道的,Moment.js 的大小是200多k,
Day.js的大小是2kB
100倍的差距,擁有同樣強大的 API

安裝
npm install dayjs --save
國際化
Day.js 支持幾十個國家語言
但除非手動加載,多國語言默認是不會被打包到工程里的
你可以隨意在各個語言之間自由切換:


很爽對不對,同時還支持局部指定語言,就是說,你可以這個時間使用中文,那個時間使用英文,或者做一個按鈕,讓用戶可以隨意切換!全憑你自己的意願。
dayjs('2018-05-05').locale('zh-cn').format() // 在這個實例上使用簡體中文
API
Day.js 有很多 API 來解析、處理、校驗、增減、展示時間和日期
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鏈接
https://github.com/iamkun/dayjs/blob/master/docs/zh-cn/API-reference.md
插件
插件是一些獨立的程序,可以給 Day.js 增加新功能和擴展已有功能
默認情況下,Day.js 只包含核心的代碼,並沒有安裝任何插件
您可以加載多個插件來滿足您的需求
例如官方提供的插件就有:
- AdvancedFormat 擴展了 dayjs().format API 以支持更多模版
- RelativeTime 增加了 .from .to .fromNow .toNow 4個 API 來展示相對的時間 (e.g. 3 小時以前).
- IsLeapYear 增加了 .isLeapYear API 返回一個 boolean 來展示一個 Dayjs's 的年份是不是閏年.
- WeekOfYear 增加了 .week() API 返回一個 number 來表示 Dayjs 的日期是年中第幾周.
- IsSameOrAfter 增加了 .isSameOrAfter() API 返回一個 boolean 來展示一個時間是否和一個時間相同或在一個時間之后.
- IsSameOrBefore 增加了 .isSameOrBefore() API 返回一個 boolean 來展示一個時間是否和一個時間相同或在一個時間之前.
等等。。。。。。。。。
當然,你如果感興趣也可以自己定義一個插件:
