在 JavaScript中處理日期是一件非常讓人頭疼的事情。原生的日期方法往往是冗長(zhǎng)且不一致的,這給開發(fā)人員帶來(lái)很大的困惑。但現(xiàn)在,好消息來(lái)了。現(xiàn)在已經(jīng)有不少庫(kù),能讓處理日期變得不再那么痛苦。這些庫(kù)之于 JavaScript 原生的日期方法,就好比 jQuery 之于原生 DOM API。
舉個(gè)例子。這是一個(gè)對(duì) Stack Overflow 上的一個(gè)問(wèn)題—— how to get last day of the month的解答:
var t = new Date();alert( new Date(t.getFullYear(), t.getMonth() + 1, 0, 23, 59, 59) );
當(dāng)然,這是有效的,但是并不是很明顯,getMonth代表什么數(shù)字?,F(xiàn)在相比之下,相當(dāng)可讀:
const today = new Date();console.log( lastDayOfMonth(today) );
lastDayOfMonth方法是由 date-fns提供的,它是一種自動(dòng)聲明的綜合工具集,用于在瀏覽器和Node.js中操縱JavaScript日期。
在本文中,我將向您展示如何使用date-fns來(lái)啟動(dòng)和運(yùn)行。閱讀后,您可以將其放入項(xiàng)目中,并利用其許多幫助方法輕松操縱日期。這將使代碼像t.getMonth()1,0,23,59,59一樣是過(guò)去的事情。日期FNS
我們拿 date-fns 來(lái)進(jìn)行一個(gè)對(duì)比 (來(lái)自項(xiàng)目主頁(yè)):
date-fns 是不可變的,總是返回新的日期,而不是修改傳入的那個(gè)。
它的 API 很簡(jiǎn)單。你做每件事都只需要一個(gè)函數(shù)。
它很快。你的用戶會(huì)有更好的用戶體驗(yàn)。
它是 Webpack 完美的伴侶。由于其每個(gè)文件一個(gè)函數(shù)的風(fēng)格,你可以在打包時(shí)選擇需要的部分而扔棄沒(méi)用到的那些功能。
對(duì)于我來(lái)說(shuō),最為閃亮的特性是其易用性。在基于 Web 的項(xiàng)目中使用它,你可以從 CDN 獲得 date-fns,將其添加到頁(yè)面。接下來(lái)會(huì)有更多相關(guān)內(nèi)容……
安裝
安裝這個(gè)庫(kù)的方法有許多種。
你可以通過(guò) npm 安裝:
npm install date-fns --save

