JS時間框架之舍棄Moment.js擁抱Day.js


什么是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

JS時間框架之舍棄Moment.js擁抱Day.js

 

安裝

npm install dayjs --save

國際化

Day.js 支持幾十個國家語言

但除非手動加載,多國語言默認是不會被打包到工程里的

你可以隨意在各個語言之間自由切換:

JS時間框架之舍棄Moment.js擁抱Day.js

 

JS時間框架之舍棄Moment.js擁抱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 來展示一個時間是否和一個時間相同或在一個時間之前.

等等。。。。。。。。。

當然,你如果感興趣也可以自己定義一個插件:

JS時間框架之舍棄Moment.js擁抱Day.js


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM