Moment.js 是一個(gè)大而全的 JS 時(shí)間庫(kù),很大地方便了我們處理日期和時(shí)間。但是 Moment.js太重了(200k+ with locals),可能一般項(xiàng)目也只使用到了她幾個(gè)常用的API。雖然社區(qū)也有幾個(gè)輕量的時(shí)間庫(kù),要想遷移過(guò)去又會(huì)增加新的學(xué)習(xí)和遷移成本。
如果能有一個(gè)和 Moment.js 一樣語(yǔ)法,一樣功能,又輕量的庫(kù)該多好!
Day.js 是一個(gè)輕量的 JavaScript 時(shí)間日期處理庫(kù),和 Moment.js 的 API 設(shè)計(jì)保持完全一樣. 如果你曾經(jīng)用過(guò) Moment.js, 那么你已經(jīng)知道如何使用 Day.js
Day.js 基本用法如下,相同的API,相同的鏈?zhǔn)讲僮鳌?/p>
dayjs().startOf("month").add(1, "day").set("year", 2018).format("YYYY-MM-DD HH:mm:ss");
? 和 Moment.js 相同的 API 和用法
? 不可變數(shù)據(jù) (Immutable)
? 支持鏈?zhǔn)讲僮?(Chainable)
? 僅 2kb 大小的微型庫(kù)
? 全瀏覽器兼容
Day.js 雖然僅有 2kb 大小,但是功能一點(diǎn)都沒(méi)有閹割。包含了時(shí)間處理的全部常用方法。
喜歡可以給個(gè)?star?鼓勵(lì)一下嗎
https://github.com/xx45/dayjs
如果您的項(xiàng)目里沒(méi)有其他國(guó)家語(yǔ)言本地化的需求,那想縮小打包體積,提升開(kāi)發(fā)體驗(yàn)只需要 replace(/moment/g, "dayjs") 全局替換一下。就能從 Moment.js + locals 200kb 減小成 dayjs 2kb的體積。所有的API調(diào)用都保持不變,無(wú)需修改。
來(lái)感受一下 Dayjs 的語(yǔ)法吧,是不是很看起來(lái)親切呢 ? (沒(méi)錯(cuò) 這就是 moment 的語(yǔ)法嘛)
創(chuàng)建dayjs() // 當(dāng)前時(shí)間 dayjs("1995-12-25") // 1995-12-25 dayjs(Date.now() - 24 * 60 * 60 * 1000) // 昨天格式化
dayjs().format("YYYY年MM月DD日 HH:mm:ss") // 2018年08月08日 00:00:00 dayjs().format("[YYYY]") // "[2018]"。[] 里的會(huì)原樣輸出。操作
dayjs().add(7, "days") // 之后的第7天 dayjs().subtract(1, "months") // 上個(gè)月 dayjs().startOf("months") // 獲取一月初 dayjs().endOf("year") // 獲取一年年末查詢(xún)
dayjs("2010-10-20").isBefore("2010-10-21") // 早于 dayjs("2010-10-20").isAfter("2010-10-19") // 晚于 dayjs().isLeapYear() // 閏年issue and pr"s welcome
歡迎來(lái)issue和pr哦
https://github.com/xx45/dayjs
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/94637.html
摘要:下面,我將自己閱讀的源碼的過(guò)程記錄下來(lái)。閱讀庫(kù)的代碼,首先先要知道這個(gè)庫(kù)的作用是一個(gè)輕量的時(shí)間日期處理庫(kù),其用法和完全一樣。介紹首先,閱讀的源碼,我們應(yīng)該從的入手。對(duì)象是不可變的,即所有改變的操作都會(huì)返回一個(gè)新的實(shí)例。 前言 作為一個(gè)程序員,閱讀別人優(yōu)秀代碼是提升自己技術(shù)能力的一個(gè)很好的方法。下面,我將自己閱讀 dayjs(v1.6.10)的源碼的過(guò)程記錄下來(lái)。 閱讀庫(kù)的代碼,首先先要...
摘要:正式發(fā)布在過(guò)去的一周,正式發(fā)布,帶來(lái)大量改進(jìn)和修復(fù)。這是自開(kāi)展以來(lái)的第七個(gè)主要版本,并將在年月成為下一個(gè)分支。以后,如果使用具有已知安全問(wèn)題的代碼,的用戶(hù)會(huì)收到警告通知。將自動(dòng)檢查針對(duì)數(shù)據(jù)庫(kù)的安裝請(qǐng)求,并在代碼包含漏洞時(shí)發(fā)出警告通知。 1. Node.js 10 正式發(fā)布 在過(guò)去的一周,Node.js 10.0.0 正式發(fā)布,帶來(lái)大量改進(jìn)和修復(fù)。這是自 Node.js Foundati...
摘要:正式發(fā)布在過(guò)去的一周,正式發(fā)布,帶來(lái)大量改進(jìn)和修復(fù)。這是自開(kāi)展以來(lái)的第七個(gè)主要版本,并將在年月成為下一個(gè)分支。以后,如果使用具有已知安全問(wèn)題的代碼,的用戶(hù)會(huì)收到警告通知。將自動(dòng)檢查針對(duì)數(shù)據(jù)庫(kù)的安裝請(qǐng)求,并在代碼包含漏洞時(shí)發(fā)出警告通知。 1. Node.js 10 正式發(fā)布 在過(guò)去的一周,Node.js 10.0.0 正式發(fā)布,帶來(lái)大量改進(jìn)和修復(fù)。這是自 Node.js Foundati...
摘要:正式發(fā)布在過(guò)去的一周,正式發(fā)布,帶來(lái)大量改進(jìn)和修復(fù)。這是自開(kāi)展以來(lái)的第七個(gè)主要版本,并將在年月成為下一個(gè)分支。以后,如果使用具有已知安全問(wèn)題的代碼,的用戶(hù)會(huì)收到警告通知。將自動(dòng)檢查針對(duì)數(shù)據(jù)庫(kù)的安裝請(qǐng)求,并在代碼包含漏洞時(shí)發(fā)出警告通知。 1. Node.js 10 正式發(fā)布 在過(guò)去的一周,Node.js 10.0.0 正式發(fā)布,帶來(lái)大量改進(jìn)和修復(fù)。這是自 Node.js Foundati...
閱讀 2034·2021-11-11 16:54
閱讀 2111·2019-08-30 15:55
閱讀 3611·2019-08-30 15:54
閱讀 391·2019-08-30 15:44
閱讀 2228·2019-08-30 10:58
閱讀 424·2019-08-26 10:30
閱讀 3048·2019-08-23 14:46
閱讀 3191·2019-08-23 13:46