MoMent 簡易使用

后續(xù)的博客將會更新到掘金, 期望大家前來訪問!

簡介

  • moment
  • add
  • subtract
  • startOf
  • endOf
  • format
  • diff
  • daysInMonth
  • toArray
  • toObject
  • isBetween
  • isLeapYear
  • isMoment
  • isDate
  • duration
  • asDays
Key Shorthand
years y
quarters Q
months M
weeks w
days d
hours h
minutes m
seconds s
millseconds ms

解析

當(dāng)前時間

獲取當(dāng)前時間

moment();
var now = moment();

Unix 偏移量(毫秒)

moment(Number);
const time = Date.now()
moment(time).toArray() // [2018, 9, 11, 18, 22, 4, 726]

Unix 時間戳(秒)

moment.unix(Number)
const time = Date.now()
moment.unix(Math.floor(time / 1000)).toArray() // [2018, 9, 11, 18, 22, 4, 0]

操作

加法

基于一個時間增加

moment().add(Number, String);
moment().add(Duration);
moment().add(Object);
moment().startOf('d').add(1, 'M') // Sun Nov 11 2018 00:00:00

減法

基于一個時間減少,類比 加法

moment().subtract(Number, String);
moment().subtract(Duration);
moment().subtract(Object);

開始時間

設(shè)置開始時間

moment().startOf(String)
moment().startOf('d') // Thu Oct 11 2018 00:00:00

等同:
moment().hours(0).minutes(0).seconds(0).milliseconds(0)

結(jié)束時間

設(shè)置結(jié)束時間

moment().endOf(String)
moment().endOf('d')  // Thu Oct 11 2018 23:59:59

等同:
moment().hours(23).minutes(59).seconds(59).milliseconds(999)

顯示

格式化

格式化顯示

moment().format();
moment().format(String);
moment().format() // "2018-10-11T16:13:15+08:00"
moment().format("YYYY/MM/DD HH:MM:SS") // "2018/10/11 16:10:25"
moment().format("YYYY-MM-DD") // "2018-10-11"

時差

兩個時間的時間差

moment().diff(Moment|String|Number|Date|Array);
moment().diff(Moment|String|Number|Date|Array, String);
moment().diff(Moment|String|Number|Date|Array, String, Boolean);
const a = moment(), 
      b = moment().subtract(1, 'd')
a.diff(b) // 86399999

const c = moment([2018, 1])
const b = moment([2018, 10])
b.diff(a, 'M') // 9
b.diff(a, 'y', true) // 0.75

天數(shù)(月)

判斷一個月有多少天

moment().daysInMonth();
moment('2018-02', 'YYYY-MM').daysInMonth() // 28
moment('2018-10', 'YYYY-MM').daysInMonth() // 31

數(shù)組

將moment 類型 轉(zhuǎn)換 數(shù)組

moment().toArray()
moment().toArray() // [2018, 9, 11, 17, 9, 59, 227]

對象

將moment類型 轉(zhuǎn)換 對象

moment().toObject()
moment().toObject()

/** output:
 * date: 11
 * hours: 17
 * milliseconds: 991
 * minutes: 12
 * months: 9
 * seconds: 37
 * years: 2018
 **/

查詢

是否之間

給定時間是否在某個時間段內(nèi)

moment().isBetween(moment-like, moment-like);
moment().isBetween(moment-like, moment-like, String);
moment().isBetween('2018-01-01', '2018-12-31') // true

是否閏年

給定時間所在年份是否閏年

moment().isLeapYear()
moment().isLeapYear() // false
moment(['2016']) // true

是否 moment 對象

給定參數(shù)是否為 moment 類型

注意:moment 后沒有括號

moment.isMoment(obj)
moment.isMoment(new Date()) // false
moment.isMoment(moment()) // true

是否 Date 對象

給定參數(shù)是否為 Date 類型

注意:moment 后沒有括號

moment.isDate(obj);
moment.isDate(new Date()) // true
moment.isDate(moment()) // false

時間段

創(chuàng)建 duration

moment.duration(Number, String);
moment.duration(Number);
moment.duration(Object);
moment.duration(String);

兩個時間點間隔的 年| 月| 日| 小時 | 分鐘 | 秒

const a = moment([2016, 6, 26, 10, 11, 23])
const b = moment()
Math.floor(moment.duration(b.diff(a)).asYears()) // 2
Math.floor(moment.duration(b.diff(a)).asMonths()) // 26
Math.floor(moment.duration(b.diff(a)).asDays()) // 807
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容