moment的一些常見(jiàn)用法總結(jié)大全
前言
在我們前端開(kāi)發(fā)中,我們會(huì)涉及到許多對(duì)時(shí)間日期的一些處理,本文就是對(duì)moment常見(jiàn)用法的總結(jié)
指定語(yǔ)言
不然可能會(huì)引起不必要的bug
moment.locale('zh-cn')下載:
npm install moment --save 或 yarn add moment
引入使用
import moment from 'moment'
使用
獲取時(shí)間戳
# 精確到毫秒
moment().valueOf()
## 1584182611042 ;返回值為數(shù)值類型
moment().format('x')
## 返回值為字符串類型
# 精確到秒
moment().unix()
## 1584182618 精確到秒 返回值為數(shù)值類型
moment().format('X')
## 返回值為字符串類型生成指定時(shí)間的moment
moment("2000-9-28")
#帶格式
moment("2000-9-28","MM-DD-YYYY")獲取對(duì)象
moment().toObject();
# 返回一個(gè)包括:年、月、日、時(shí)、分、秒、毫秒的對(duì)象
# {
years: 2020
months: 2
date: 14
hours: 18
minutes: 47
seconds: 56
milliseconds: 526
}格式化
moment().format();
# 2020-03-14T19:14:05+08:00
#默認(rèn)返回的是上面的格式,我們也可以進(jìn)行指定格式
moment().format('YYYY-MM-DD HH:mm:ss');
# 2020-03-14 19:23:29獲取時(shí)間
#獲取今天的時(shí)分秒
moment().startOf('day')
#獲取本周的第一天(周日)時(shí)分秒
moment().startOf('week')
#獲取本周周幾的時(shí)分秒
moment().startOf('星期幾')
#獲取當(dāng)月第一天的時(shí)分秒
moment().startOf('month')
# 獲取指定日期的0時(shí)0分0秒
moment('2019-10-20').startOf('day')
# 獲取今天23時(shí)59分59秒
moment().endOf('day')
# 獲取本周最后一天(周六)23時(shí)59分59秒
moment().endOf('week')
# 獲取本周周日23時(shí)59分59秒
moment().endOf('isoWeek')
# 獲取當(dāng)前月最后一天23時(shí)59分59秒
moment().endOf('month')獲取當(dāng)月的第一天時(shí)星期幾
# 用于設(shè)置星期幾,其中星期日為 0、星期六為 6
moment().startOf('month').day()獲取前n天/后n天
moment().add(7, 'days'); moment().subtract(7, 'days')
獲取兩個(gè)日期的時(shí)間差
moment([2008, 2, 27]).diff([2007, 0, 28], 'day'); # 424
比較兩個(gè)時(shí)間的大小
moment('2010-10-31').isBefore('2010-12-31', 'day');
# true第二個(gè)參數(shù)用于確定精度,且不僅僅是要檢查的單個(gè)值,因此使用 day 將會(huì)檢查年份、月份、日期
需要注意的是:isBefore與isAfter都是開(kāi)區(qū)間,如果想要使用閉區(qū)間,應(yīng)該使用isSameOrBefore
isSameOrAfter
判斷一個(gè)年份是否是閏年
#不寫(xiě)年份的話,默認(rèn)判斷的是今年 moment().isLeapYear(); # false moment([2001]).isLeapYear() # false
獲取月份和星期
moment.months() # ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] moment.monthsShort() # ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] moment.weekdays() # ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] moment.weekdaysMin() # ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]
基礎(chǔ)操作
moment().hour() // 小時(shí)
moment().date() // 一個(gè)月里的第幾天
moment().day() // 星期幾
moment().dayOfYear() // 一年里的第幾天
moment().week() // 一年里的第幾周
moment().month() // 第幾個(gè)月
moment().quarter() // 一年里的第幾個(gè)季度
moment().year() // 年
moment().daysInMonth() // 當(dāng)前月有多少天
//操作
moment().add(7, 'days') // 之后的第7天。第2個(gè)參數(shù)還可以是 'months', 'years' 等。注意是復(fù)數(shù)。
moment().add(7, 'd')// 與上面一行代碼的運(yùn)行結(jié)果一樣。
moment().subtract(1, 'months') // 上個(gè)月
// 還支持 'year','month' 等
moment().endOf('week')
// 早于
moment('2010-10-20').isBefore('2010-10-21') // true
moment('2010-10-20').isBefore('2010-12-31', 'year') // false
// 是否相等
moment('2010-10-20').isSame('2010-10-20') // true
moment('2010-10-20').isSame('2009-12-31', 'year') // false
// 晚于
moment('2010-10-20').isAfter('2010-10-19') // true
moment('2010-10-20').isAfter('2010-01-01', 'year') // false
// 是否在時(shí)間范圍內(nèi)
moment('2010-10-20').isBetween('2010-10-19', '2010-10-25') // true
moment('2010-10-20').isBetween('2010-01-01', '2012-01-01', 'year') // false
moment().isLeapYear() 總結(jié)
到此這篇關(guān)于moment的一些常見(jiàn)用法的文章就介紹到這了,更多相關(guān)moment常見(jiàn)用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Javascript實(shí)現(xiàn)簡(jiǎn)單的富文本編輯器附演示
這篇文章主要介紹了通過(guò)Javascript實(shí)現(xiàn)的簡(jiǎn)單富文本編輯器,需要的朋友可以參考下2014-06-06
原生JS實(shí)現(xiàn)首頁(yè)進(jìn)度加載動(dòng)畫(huà)
這篇文章主要為大家詳細(xì)介紹了原生JS實(shí)現(xiàn)首頁(yè)進(jìn)度加載動(dòng)畫(huà),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09
JavaScript TypeScript實(shí)現(xiàn)貪吃蛇游戲完整詳細(xì)流程
這篇文章主要介紹了JavaScript TypeScript實(shí)現(xiàn)貪吃蛇游戲流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-09-09
如何在JavaScript中等分?jǐn)?shù)組的實(shí)現(xiàn)
這篇文章主要介紹了如何在JavaScript中等分?jǐn)?shù)組的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Bootstrap框架實(shí)現(xiàn)廣告輪播效果
這篇文章主要為大家詳細(xì)介紹了Bootstrap框架結(jié)合JavaScript實(shí)現(xiàn)廣告輪播特效,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11
JavaScript使用ActiveXObject訪問(wèn)Access和SQL Server數(shù)據(jù)庫(kù)
這篇文章主要介紹了JavaScript使用ActiveXObject訪問(wèn)Access和SQL Server數(shù)據(jù)庫(kù),本文分別給出相應(yīng)操作代碼,需要的朋友可以參考下2015-04-04

