摘要:方便靈巧,功能強(qiáng)大。唯一的缺點(diǎn)是,對(duì)于前端來(lái)講,它的包太太太太太大了。我是的重度用戶(hù),但它的大小時(shí)刻都在折磨人。所以,開(kāi)源社區(qū)有了一些精簡(jiǎn)的方案。的使用方法,也和基本一致。其實(shí)對(duì)于絕大部分的時(shí)間操作場(chǎng)景,和更符合使用要求。
關(guān)于時(shí)間的操作,一直在使用momentjs這個(gè)庫(kù)。方便靈巧,功能強(qiáng)大。唯一的缺點(diǎn)是,對(duì)于前端HTML來(lái)講,它的包太太太太太大了。
我是momentjs的重度用戶(hù),但它的大小時(shí)刻都在折磨人。雖然方便高效,可這動(dòng)輒200K的大小,對(duì)于首頁(yè)加載速度來(lái)講簡(jiǎn)直就是一場(chǎng)災(zāi)難。所以,開(kāi)源社區(qū)有了一些精簡(jiǎn)的方案。如dayjs和miment。
dayjsdayjs本身就是對(duì)標(biāo)momentjs進(jìn)行開(kāi)發(fā)的,看作者的官方介紹:
Day.js is a minimalist JavaScript library that parses, validates, manipulates, and displays dates and times for modern browsers with a largely Moment.js-compatible API. If you use Moment.js, you already know how to use Day.js.
它的用法非常簡(jiǎn)單。
dayjs().startOf("month").add(1, "day").set("year", 2018).format("YYYY-MM-DD HH:mm:ss");
是不是很momentjs很相似?不,其實(shí)它們就是一模一樣的。dayjs的API和moment幾乎一模一樣,所以如果想要替換到現(xiàn)有的momentjs代碼,直接替換為dayjs即可,調(diào)用語(yǔ)句絕大部分情況下可以一字不改。
dayjs的大小有多少呢?2KB。再想想momentjs的大小。
mimentmiment同樣也是一個(gè)極簡(jiǎn)的時(shí)間處理庫(kù),壓縮后的代碼甚至達(dá)到了1KB左右,比dayjs還小。
與包大小相應(yīng)的,作者團(tuán)隊(duì)只保留了momentjs中核心方法,但其實(shí)這些方法在普通場(chǎng)景下已經(jīng)足夠。
miment的使用方法,也和momentjs基本一致。例如:
miment().add(1, "YYYY").add(2, "MM").add(-3, "DD") // 增加 1 年 2 個(gè)月又減回 3 天 miment().isBetween("2000-01-01","2020-01-01") // true miment().isBefore("2000-01-01") // false miment().format("YYYY年MM月DD日 星期ww") // 2018年04月09日 星期1 *周日對(duì)應(yīng)星期0*
想要取得多帶帶的年月日,更簡(jiǎn)單
miment().format("YYYY") // 2018 miment().format("MM") // 04 miment().format("DD") // 09 miment().format("hh") // 23 miment().format("mm") // 57 miment().format("ss") // 16 miment().format("SSS") // 063 miment().format("ww") // 1 miment().format("WW") // 一結(jié)語(yǔ)
對(duì)于momentjs,大部分開(kāi)發(fā)者都是又愛(ài)又恨,又或者大覺(jué)不愛(ài)。其實(shí)對(duì)于絕大部分的時(shí)間操作場(chǎng)景,dayjs和miment更符合使用要求。尤其對(duì)于非SSR的場(chǎng)合,想想那精簡(jiǎn)近200KB的首屏渲染速度,真的是非常有吸引力。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/108837.html
介紹 Miment 是一個(gè)輕量級(jí)的時(shí)間庫(kù)(打包壓縮后只有1K),沒(méi)有太多的方法,Miment的設(shè)計(jì)理念就是讓你以幾乎為零的成本快速上手,無(wú)需一遍一遍的擼文檔 由來(lái) 首先 致敬一下Moment,非常好用的一個(gè)時(shí)間庫(kù),我本身也是Moment重度使用者,用習(xí)慣了Moment,一碰到需要處理時(shí)間的需求,立馬Moment,不過(guò)有時(shí)候想想,Moment給我們提供了那么多的功能,但是我們天天用的,也就那么一兩個(gè)...
介紹 Miment 是一個(gè)輕量級(jí)的時(shí)間庫(kù)(打包壓縮后只有1K),沒(méi)有太多的方法,Miment的設(shè)計(jì)理念就是讓你以幾乎為零的成本快速上手,無(wú)需一遍一遍的擼文檔 由來(lái) 首先 致敬一下Moment,非常好用的一個(gè)時(shí)間庫(kù),我本身也是Moment重度使用者,用習(xí)慣了Moment,一碰到需要處理時(shí)間的需求,立馬Moment,不過(guò)有時(shí)候想想,Moment給我們提供了那么多的功能,但是我們天天用的,也就那么一兩個(gè)...
介紹 Miment 是一個(gè)輕量級(jí)的時(shí)間庫(kù)(打包壓縮后只有1K),沒(méi)有太多的方法,Miment的設(shè)計(jì)理念就是讓你以幾乎為零的成本快速上手,無(wú)需一遍一遍的擼文檔 由來(lái) 首先 致敬一下Moment,非常好用的一個(gè)時(shí)間庫(kù),我本身也是Moment重度使用者,用習(xí)慣了Moment,一碰到需要處理時(shí)間的需求,立馬Moment,不過(guò)有時(shí)候想想,Moment給我們提供了那么多的功能,但是我們天天用的,也就那么一兩個(gè)...
showImg(https://segmentfault.com/img/bV9wV7?w=1952&h=712);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è)和 ...
閱讀 3605·2021-11-23 09:51
閱讀 2812·2021-11-23 09:51
閱讀 689·2021-10-11 10:59
閱讀 1685·2021-09-08 10:43
閱讀 3239·2021-09-08 09:36
閱讀 3300·2021-09-03 10:30
閱讀 3306·2021-08-21 14:08
閱讀 2212·2021-08-05 09:59