moment的一些常見用法總結(jié)大全
前言
在我們前端開發(fā)中,我們會涉及到許多對時間日期的一些處理,本文就是對moment常見用法的總結(jié)
指定語言
不然可能會引起不必要的bug
moment.locale('zh-cn')
下載:
npm install moment --save 或 yarn add moment
引入使用
import moment from 'moment'
使用
獲取時間戳
# 精確到毫秒 moment().valueOf() ## 1584182611042 ;返回值為數(shù)值類型 moment().format('x') ## 返回值為字符串類型 # 精確到秒 moment().unix() ## 1584182618 精確到秒 返回值為數(shù)值類型 moment().format('X') ## 返回值為字符串類型
生成指定時間的moment
moment("2000-9-28") #帶格式 moment("2000-9-28","MM-DD-YYYY")
獲取對象
moment().toObject(); # 返回一個包括:年、月、日、時、分、秒、毫秒的對象 # { 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
獲取時間
#獲取今天的時分秒 moment().startOf('day') #獲取本周的第一天(周日)時分秒 moment().startOf('week') #獲取本周周幾的時分秒 moment().startOf('星期幾') #獲取當(dāng)月第一天的時分秒 moment().startOf('month') # 獲取指定日期的0時0分0秒 moment('2019-10-20').startOf('day') # 獲取今天23時59分59秒 moment().endOf('day') # 獲取本周最后一天(周六)23時59分59秒 moment().endOf('week') # 獲取本周周日23時59分59秒 moment().endOf('isoWeek') # 獲取當(dāng)前月最后一天23時59分59秒 moment().endOf('month')
獲取當(dāng)月的第一天時星期幾
# 用于設(shè)置星期幾,其中星期日為 0、星期六為 6 moment().startOf('month').day()
獲取前n天/后n天
moment().add(7, 'days'); moment().subtract(7, 'days')
獲取兩個日期的時間差
moment([2008, 2, 27]).diff([2007, 0, 28], 'day'); # 424
比較兩個時間的大小
moment('2010-10-31').isBefore('2010-12-31', 'day'); # true
第二個參數(shù)用于確定精度,且不僅僅是要檢查的單個值,因此使用 day 將會檢查年份、月份、日期
需要注意的是:isBefore與isAfter都是開區(qū)間,如果想要使用閉區(qū)間,應(yīng)該使用isSameOrBefore
isSameOrAfter
判斷一個年份是否是閏年
#不寫年份的話,默認(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() // 小時 moment().date() // 一個月里的第幾天 moment().day() // 星期幾 moment().dayOfYear() // 一年里的第幾天 moment().week() // 一年里的第幾周 moment().month() // 第幾個月 moment().quarter() // 一年里的第幾個季度 moment().year() // 年 moment().daysInMonth() // 當(dāng)前月有多少天 //操作 moment().add(7, 'days') // 之后的第7天。第2個參數(shù)還可以是 'months', 'years' 等。注意是復(fù)數(shù)。 moment().add(7, 'd')// 與上面一行代碼的運行結(jié)果一樣。 moment().subtract(1, 'months') // 上個月 // 還支持 '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 // 是否在時間范圍內(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的一些常見用法的文章就介紹到這了,更多相關(guān)moment常見用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Javascript實現(xiàn)簡單的富文本編輯器附演示
這篇文章主要介紹了通過Javascript實現(xiàn)的簡單富文本編輯器,需要的朋友可以參考下2014-06-06JavaScript TypeScript實現(xiàn)貪吃蛇游戲完整詳細(xì)流程
這篇文章主要介紹了JavaScript TypeScript實現(xiàn)貪吃蛇游戲流程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-09-09如何在JavaScript中等分?jǐn)?shù)組的實現(xiàn)
這篇文章主要介紹了如何在JavaScript中等分?jǐn)?shù)組的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12JavaScript使用ActiveXObject訪問Access和SQL Server數(shù)據(jù)庫
這篇文章主要介紹了JavaScript使用ActiveXObject訪問Access和SQL Server數(shù)據(jù)庫,本文分別給出相應(yīng)操作代碼,需要的朋友可以參考下2015-04-04