总结momentjs中最为常用的时间操作方法

1.获取时间

moment().get('year'):获取当前的年份  2019
moment().get('month'):获取当前的月份 (0-11)
moment().get('date'):获取当前的号数 29
moment().get('hour'):获取当前的小时 15 (0-24)
moment().get('minute'):获取当前的分钟数 54
moment().get('second'):获取当前的秒数 57
moment().get('millisecond'):获取当前的毫秒数 292
moment().get('weekday'):获取当前是周几 4
moment().get('dayOfYear'):获取当前是一年中的第几天 241
moment().get('week'):获取当前是一年中的第几周 35
moment().get('quarter'):获取当前的季度 3 (1-4)

2.时间的增加与减少

moment().add(7,'days') / moment().add(7,'d'):7天后
moment().add(3,'months'):3月后	
moment().add(7, 'days').add(1, 'months') / moment().add({days:7,months:1}):1月7天后

moment().subtract(7,'days'):7天前
moment().subtract(3,'months'):3月前
moment().subtract(7, 'days').add(1, 'months') / moment().subtract({days:7,months:1}):1月7天前

3.格式化时间

moment().format('YYYY-MM-DD'):格式化当前时间 "2019-08-29"
moment().format('YYYY-MM-DD hh:mm:ss'): "2019-08-29 04:00:33"
moment().format('YYYY-MM-DD HH:mm:ss'): "2019-08-29 16:00:33"
moment().add(1,'days').format('YYYY-MM-DD HH:mm:ss'): "2019-08-30 16:00:33"

4.比较相差时间
说明:(1)A.diff(B) : 如果值为负数就表示A时间在前,如果值为正数就表示A时间在后
(2)如果第三个参数设为true返回精确的差值,如果不设为true则返回向下舍入的数字

moment().diff(moment().add(4,'hours'),'days',true): -0.16666666666666666
moment().diff(moment().add(4,'hours'),'days'): 0

5.判断时间在前/相等/在后

//比较时间是否在前
moment().isBefore(moment().add(1,'hours')) : true
moment().isBefore(moment().add(1,'hours'),'year') : 只判断年份是否在前 false
moment('2010-10-20').isBefore('2010-12-31', 'month') : 只判断月份是否在前,true

//比较时间是否相等
moment('2010-10-20').isSame('2010-10-20'): true
moment().isSame(moment().add(1,'days'),'year'): true

//比较时间是否在后
moment().isAfter(moment().add(3,'months'),'year'): false

6.判断某个时间是否在两个时间之间

moment().isBetween(moment().subtract(7, 'days'),moment().add(1,'days')): true
moment().isBetween(moment().subtract(7, 'days'),moment().add(1,'days'),'year'): false

7.时间转化为数组/对象

moment().toArray():[2019, 7, 29, 15, 20, 18, 118] 年-月-日-时-分-秒-毫秒(月数0-11)
moment().toObject():{"years":2019,"months":7,"date":29,"hours":15,"minutes":22,"seconds":36,"milliseconds":561} (月数0-11)

8.列出月份与星期

 列出月份:
 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.weekdaysShort():["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
moment.weekdaysMin():["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]
moment.weekdays(0):'Sunday'

9.比较时间大小
说明:结果为较大/较小的时间

let current = moment();
let after = moment().add(1,'days')
let before = moment.subtract(1,'years')
console.log(after == moment.max(current,after,before)) : true 
console.log(before == moment.min(current,after,before)) : true
  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值