项目中常用的moment用法

267 阅读2分钟

超喜欢掘金的文档编辑器,写笔记都更有干劲了。 本文就是记录一下,用的时候方便找,有新的用法也会补充到这里,希望有帮到小伙伴~~

开始时间:

// moment().startOf(String) 
moment().startOf('day’)  // 获取今天0时0分0秒
moment().startOf('week’) // 获取本周第一天(周日)0时0分0秒
moment().startOf('isoWeek’) //获取本周周一0时0分0秒
moment().startOf('month’) // 获取当前月第一天0时0分0秒

结束时间

// moment().endOf(String)
moment().endOf('day') // 获取今天23时59分59秒
moment().endOf('week') // 获取本周最后一天(周六)23时59分59秒
moment().endOf('isoWeek') // 获取本周周日23时59分59秒
moment().endOf('month') // 获取当前月最后一天23时59分59秒

获取当前月的总天数

moment().daysInMonth()

获取时间戳

// 获取时间戳(以秒为单位)
moment().format('X') // 返回值为字符串类型
moment().unix() // 返回值为数值型

// 获取时间戳(以毫秒为单位)
moment().format('x') // 返回值为字符串类型
moment().valueOf() // 返回值为数值型

获取时间

// 获取年份
moment().year()
moment().get('year')

// 获取月份
moment().month() // (0~11, 0: January, 11: December)
moment().get('month')

// 获取一个月中的某一天
moment().date()
moment().get('date')

// 获取小时
moment().hours()
moment().get('hours')

// 获取分钟
moment().minutes()
moment().get('minutes')

// 获取秒数
moment().seconds()
moment().get('seconds')

// 获取当前的年月日时分秒
moment().toArray() // [years, months, date, hours, minutes, seconds, milliseconds]
moment().toObject() // {years: xxxx, months: x, date: xx …}

添加时间(往后)

// 设置年份
moment().add(1, 'years')
moment().add({years: 1})

moment().add(1, 'months’) // 设置月份
moment().add(1, 'days’) // 设置日期
moment().add(1, 'weeks’) // 设置星期
moment().add(1, 'hours’) // 设置小时
moment().add(1, 'minutes’) // 设置分钟
moment().add(1, 'seconds’) // 设置秒

时间 (往前)

moment().subtract(1, 'years') // 1年前
moment().subtract({years: 1})

moment().subtract(1, 'months') // 设置月份
moment().subtract(1, 'days') // 设置日期
moment().subtract(1, 'weeks') // 设置星期
moment().subtract(1, 'hours') // 设置小时
moment().subtract(1, 'minutes') // 设置分钟
moment().subtract(1, 'seconds') // 设置秒

moment().subtract('days', 6).format('YYYY-MM-DD');//7天前
moment().subtract('days', 29).format('YYYY-MM-DD');//30天前

格式化时间

// moment().format()
// moment().format(String)
moment().format('YYYY年MM月DD日') // 格式化年月日: 'xxxx年xx月xx日’ 
moment().format('YYYY-MM-DD’) 格式化年月日: 'xxxx-xx-xx’
moment().format('HH时mm分ss秒’) 格式化时分秒(24小时制): 'xx时xx分xx秒’
moment().format('hh:mm:ss a') 格式化时分秒(12小时制):'xx:xx:xx am/pm’
moment().format('X') // 返回值为字符串类型 格式化时间戳(以秒为单位)
moment().format('x') // 返回值为字符串类型 格式化时间戳(以毫秒为单位)

比较时间

// moment().diff(Moment|String|Number|Date|Array)
// 获取两个日期之间的时间差
let start_date = moment().subtract(1, 'weeks')
let end_date = moment()
end_date.diff(start_date) // 返回毫秒数

end_date.diff(start_date, 'months') // 0
end_date.diff(start_date, 'weeks') // 1
end_date.diff(start_date, 'days') // 7
start_date.diff(end_date, 'days') // -7

js原生Date对象

moment().toDate()
new Date(moment())