moment獲取自然時間和近期時間

moment:JavaScript 日期處理類庫棍弄,主要用于處理日期疤坝、時間酸舍,可以進行所需要的日期格式化,也可以按所需獲取相應(yīng)的時間榨为。

此次我們來簡單介紹下在vue項目使用moment惨好,以及一些常規(guī)操作。

安裝依賴:

npm install moment --save

引入(可以直接main.js引入随闺,也可以考慮新建個插件的文件夾昧狮,然后寫到一個moment.js文件中):

import Vue from 'vue';
import moment from 'moment';
import 'moment/locale/zh-cn'; // 獲取中國標準時間,避免出現(xiàn)utc時間

如果全局基本格式化都是完整日期格式板壮,可以考慮寫個vue過濾器:
根據(jù)傳入的時間默認格式化參數(shù)為YYYY-MM-DD HH:mm:ss的格式逗鸣,如果日期參數(shù)本身有問題,作出校驗按 ' - - ' 處理

Vue.filter('dateFormat', function filter(dateStr, pattern = 'YYYY-MM-DD HH:mm:ss') {
    return dateStr ? moment(dateStr).format(pattern) : '- -';
});

常用的格式化操作可以參考官網(wǎng)绰精,我就不cv官網(wǎng)了(手動滑稽)
附上官網(wǎng)地址:moment.js官網(wǎng)

這里說下比較有爭議的點撒璧,舉個例子,我們有個日期選項卡(分別是日笨使、周卿樱、月、季硫椰、半年繁调、年),起初做的是按近期時間計算的靶草,如近一天蹄胰、近一周,但是后期又改為自然日奕翔、自然周裕寨。
所以如何獲取自然時間和近期時間就是我們需要考慮的問題。
格式化操作如下:

  • 自然時間(分為起始時間和結(jié)束時間構(gòu)成的時間段,結(jié)束時間是當前的時間):

    • 自然日:
    moment().startOf('day').format('YYYY-MM-DD HH:mm:ss') // 起始時間(當前的00:00:00點)
    moment().format('YYYY-MM-DD HH:mm:ss') // 結(jié)束時間(當前系統(tǒng)的時間)
    
    • 自然周:
    moment().startOf('week').format('YYYY-MM-DD HH:mm:ss') // 起始時間(當前周周一的00:00:00點)
    moment().format('YYYY-MM-DD HH:mm:ss') // 結(jié)束時間(當前系統(tǒng)的時間)
    
    • 自然月:
    moment().startOf('months').format('YYYY-MM-DD HH:mm:ss') // 起始時間(當前月1號的00:00:00點)
    moment().format('YYYY-MM-DD HH:mm:ss') // 結(jié)束時間(當前系統(tǒng)的時間)
    
    • 自然季:
    moment().startOf('quarters').format('YYYY-MM-DD HH:mm:ss') // 起始時間(當前季度1號的00:00:00點)
    moment().format('YYYY-MM-DD HH:mm:ss') // 結(jié)束時間(當前系統(tǒng)的時間)
    
    • 自然半年(比較特殊宾袜,需要區(qū)分上半年或者下半年):
    moment().get('month') + 1 <= 6
                    ? moment().format(`${moment().get('year')}-01-01 00:00:00`)
                    : moment().format(`${moment().get('year')}-07-01 00:00:00`)
    // 獲取當前月+1然后和6進行比較區(qū)分上下半年捻艳,上半年就計算1月1號的00點,下半年就計算7月1號的00點
    moment().format('YYYY-MM-DD HH:mm:ss') // 結(jié)束時間(當前系統(tǒng)的時間)
    
    • 自然年:
    moment().startOf('years').format('YYYY-MM-DD HH:mm:ss') // 起始時間(當前年1號的00:00:00點)
    moment().format('YYYY-MM-DD HH:mm:ss') // 結(jié)束時間(當前系統(tǒng)的時間)
    

    其實可以看到庆猫,基本都是通過startOf的不同參數(shù)來獲取的认轨,唯一需要注意的可能就是半年的概念了。

  • 近期時間(分為起始時間和結(jié)束時間構(gòu)成的時間段月培,結(jié)束時間是當前的時間):

    • 日(近一天):
    moment().day(moment().day() - 1).format('YYYY-MM-DD HH:mm:ss') // 當前時間往前推一天的時間
    moment().format('YYYY-MM-DD HH:mm:ss') // 結(jié)束時間(當前系統(tǒng)的時間)
    
    • 周(近一周):
    moment().day(moment().day() - 6).format('YYYY-MM-DD HH:mm:ss') // 當前時間往前推一周的時間
    moment().format('YYYY-MM-DD HH:mm:ss') // 結(jié)束時間(當前系統(tǒng)的時間)
    
    • 月(近一個月):
    moment().subtract(1, 'months').format('YYYY-MM-DD HH:mm:ss') // 當前時間往前推一個月的時間
    moment().format('YYYY-MM-DD HH:mm:ss') // 結(jié)束時間(當前系統(tǒng)的時間)
    
    • 季(近三個月):
    moment().subtract(1, 'quarters').format('YYYY-MM-DD HH:mm:ss') // 當前時間往前推三個月的時間
    moment().format('YYYY-MM-DD HH:mm:ss') // 結(jié)束時間(當前系統(tǒng)的時間)
    
    • 半年(近六個月):
    moment().subtract(6, 'months').format('YYYY-MM-DD HH:mm:ss') // 當前時間往前推六個月的時間
    moment().format('YYYY-MM-DD HH:mm:ss') // 結(jié)束時間(當前系統(tǒng)的時間)
    
    • 年(近一年):
    moment().subtract(1, 'years').format('YYYY-MM-DD HH:mm:ss') // 當前時間往前推一年的時間
    moment().format('YYYY-MM-DD HH:mm:ss') // 結(jié)束時間(當前系統(tǒng)的時間)
    

    以上就是獲取自然時間和近期時間的方法好渠。
    期待能夠?qū)δ阌兴鶐椭鷡~~
    如有問題,請指出节视,接受批評拳锚。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市寻行,隨后出現(xiàn)的幾起案子霍掺,更是在濱河造成了極大的恐慌,老刑警劉巖拌蜘,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件杆烁,死亡現(xiàn)場離奇詭異,居然都是意外死亡简卧,警方通過查閱死者的電腦和手機兔魂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來举娩,“玉大人析校,你說我怎么就攤上這事⊥妫” “怎么了智玻?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長芙代。 經(jīng)常有香客問我吊奢,道長,這世上最難降的妖魔是什么纹烹? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任页滚,我火速辦了婚禮,結(jié)果婚禮上铺呵,老公的妹妹穿的比我還像新娘裹驰。我一直安慰自己,他們只是感情好陪蜻,可當我...
    茶點故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布邦马。 她就那樣靜靜地躺著贱鼻,像睡著了一般宴卖。 火紅的嫁衣襯著肌膚如雪滋将。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天症昏,我揣著相機與錄音随闽,去河邊找鬼。 笑死肝谭,一個胖子當著我的面吹牛掘宪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播攘烛,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼魏滚,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了坟漱?” 一聲冷哼從身側(cè)響起鼠次,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎芋齿,沒想到半個月后腥寇,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡觅捆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年赦役,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片栅炒。...
    茶點故事閱讀 40,021評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡掂摔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出赢赊,到底是詐尸還是另有隱情棒呛,我是刑警寧澤,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布域携,位于F島的核電站簇秒,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏秀鞭。R本人自食惡果不足惜趋观,卻給世界環(huán)境...
    茶點故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望锋边。 院中可真熱鬧皱坛,春花似錦、人聲如沸豆巨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至贩猎,卻和暖如春熊户,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背吭服。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工嚷堡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人艇棕。 一個月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓蝌戒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親沼琉。 傳聞我的和親對象是個殘疾皇子北苟,可洞房花燭夜當晚...
    茶點故事閱讀 44,974評論 2 355

推薦閱讀更多精彩內(nèi)容