momentjs簡單上手

最近在開發(fā)中遇到下面一些需求場景

  • 場景一:以當前時間為基準獲取前后n年作為時間范圍作為接口入?yún)?/p>

  • 場景二:以指定時間為基準獲取前后n年作為時間范圍作為接口入?yún)?/p>

  • 場景三:入?yún)⒁蟮臅r間格式與當前時間格式不一致

  • 場景四:判斷當前時間是哪一季度

以上調用接口場景的入?yún)⒍夹枰獙υ既掌谧兞窟M行一些操作變換才能滿足需求房铭,意味著我們要寫一些額外的代碼兑障。但通常需求很急時候未巫,我們既需要高效的完成編碼工作媳谁,同時又需要保證代碼的質量秘血。每當這時如果自己去寫這些繁瑣的轉換邏輯既會浪費自己的寶貴時間也不利于代碼為其他同事所用局雄。這時使用成熟的解決方案就顯得尤其重要奶卓。moment就是一個成熟的js日期處理庫壳贪。使用它可以為我們帶來如下好處:

  1. 書寫更少的代碼,讓業(yè)務邏輯更清晰

  2. 代碼更健壯

  3. 優(yōu)秀的第三方庫寝杖,別人接手我們的代碼更容易

下面我們就看看如何通過moment庫快速完成我們的需求

這里直接跳過moment在不同環(huán)境下的安裝违施,具體可到官網(wǎng)查看

一、拿到當前時間和指定時間

調用moment()方法即可解析并獲得指定的日期封裝對象瑟幕。這一封裝對象也是后面一系列對時間進行操作的基礎磕蒲,該方法支持多種入?yún)⒎绞剑粘J褂媚玫疆斍皶r間無需傳參只盹,獲取指定時間傳遞符合ISO8601標準的字符串格式即可辣往。

拿到當前時間:moment()

拿到指定時間:moment(String) 如:moment('2020-01-01')

在使用字符串格式創(chuàng)建日期對象時我們盡量與ISO 8601規(guī)范格式匹配,如果不匹配那么為了保證在不同瀏覽器下解析的兼容性殖卑,需要傳入格式參數(shù)站削。

二、對拿到的時間進行操作

moment提供了addsubtract方法分別用來對當前的時間進行加和減操作

列子:當前時間加減2年
moment().add(2, 'years')
moment().subtract(2, 'years')

指定時間加減2年
moment('2021-03-19').add(2, 'years')
moment('2021-03-19').subtract(2, 'years')

三孵稽、格式化輸出
前面我們已經(jīng)拿到了想要的時間许起,但有時格式并不符合需求十偶,moment提供了format方法對輸出進行格式化

這里以上一步的指定時間為例
moment('2021-03-19').add(2, 'years').format(token)

這里的token是指定的解析格式模板字符串。

給format方法傳遞一個解析格式如'YYYY-MM-DD'會輸出2021-03-09园细,輸入'YYYY/MM/DD'就會輸出'2021/03/09'

要轉義格式字符串中的字符惦积,可以將字符包在方括號中

moment('2021-03-19').add(2, 'years').format('[今天] YYYY-MM-DD')

輸出    今天 2021-03-19

四、判斷當前時間是哪一季度

moment().quarter()

以上是對四種場景下moment的簡單使用猛频,moment使用起來非常的簡單方便狮崩,官方文檔對解析、取值/賦值鹿寻、操作睦柴、顯示、查詢以及國際化幾個模塊都有詳細的講解毡熏,在日常開發(fā)中還是要多多的使用起來坦敌!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市招刹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌窝趣,老刑警劉巖疯暑,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異哑舒,居然都是意外死亡妇拯,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進店門洗鸵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來越锈,“玉大人,你說我怎么就攤上這事膘滨「势荆” “怎么了?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵火邓,是天一觀的道長丹弱。 經(jīng)常有香客問我,道長铲咨,這世上最難降的妖魔是什么躲胳? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮纤勒,結果婚禮上坯苹,老公的妹妹穿的比我還像新娘。我一直安慰自己摇天,他們只是感情好粹湃,可當我...
    茶點故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布恐仑。 她就那樣靜靜地躺著,像睡著了一般再芋。 火紅的嫁衣襯著肌膚如雪菊霜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天济赎,我揣著相機與錄音鉴逞,去河邊找鬼。 笑死司训,一個胖子當著我的面吹牛构捡,可吹牛的內容都是我干的。 我是一名探鬼主播壳猜,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼勾徽,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了统扳?” 一聲冷哼從身側響起喘帚,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎咒钟,沒想到半個月后吹由,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡朱嘴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年倾鲫,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片萍嬉。...
    茶點故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡乌昔,死狀恐怖,靈堂內的尸體忽然破棺而出壤追,到底是詐尸還是另有隱情磕道,我是刑警寧澤,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布行冰,位于F島的核電站捅厂,受9級特大地震影響,放射性物質發(fā)生泄漏资柔。R本人自食惡果不足惜焙贷,卻給世界環(huán)境...
    茶點故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望贿堰。 院中可真熱鬧辙芍,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至吃衅,卻和暖如春往踢,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背徘层。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工峻呕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人趣效。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓瘦癌,卻偏偏與公主長得像,于是被迫代替她去往敵國和親跷敬。 傳聞我的和親對象是個殘疾皇子讯私,可洞房花燭夜當晚...
    茶點故事閱讀 45,055評論 2 355

推薦閱讀更多精彩內容

  • 支付寶簡介文檔 (適用于ydm-java接口與后臺斤寇,如有誤入,但愿也能給您帶來幫助) 此文檔寫于2017年3月拥褂,只...
    隔壁付叔叔閱讀 17,075評論 3 19
  • fastjson 是阿里巴巴的開源 JSON 解析庫娘锁,它可以解析 JSON 格式的字符串,支持將 Java Bea...
    acc8226閱讀 1,021評論 0 0
  • 1. Java基礎部分 基礎部分的順序:基本語法肿仑,類相關的語法致盟,內部類的語法碎税,繼承相關的語法尤慰,異常的語法,線程的語...
    子非魚_t_閱讀 31,641評論 18 399
  • 1雷蹂、應用擴展(Extension)這是一個千呼萬喚始出來的特性伟端,也是一個可以發(fā)揮無限想象力的特性。現(xiàn)在Apple允...
    Trigger_o閱讀 1,892評論 0 1
  • SwiftDate概況 從Swift發(fā)布起匪煌,我們就沒有放棄使用Swift责蝠。 當然,我們希望在項目能夠輕松自如地管理...
    Mee_Leo閱讀 10,082評論 1 13