使用moment.js轻松成为时间管理大师

什么是moment.js

Moment.js是一个轻量级的JavaScript时间库,日常开发中,通常会对时间进行下面这几个操作:比如获取时间,设置时间,格式化时间,比较时间等等。Moment.js不会修改本机Date.prototype,而是为Date对象创建一个包装器。 要获取这个包装器对象,只需调用moment()。
如果你想添加自己的功能,可以通过moment.fn进行自定义。接下来,我将按照这些操作对Moment.js中的Doc进行整理分类,方便学习和日后的查阅。

常用的方法以及使用

首先第一步引入

引入moment的方法有很多,我这边直接把moment.js直接下载放到静态文件目录下,等等。

格式化事件

  1. 当前时间:
moment().format('YYYY-MM-DD HH:mm:ss'); //2020-11-22 12:17:45
//注意当moment里面什么也不传的时候获取当前的事件
  1. 今天是星期几
moment().format('d'); //0
//这里获取的时间排序为周天-周六,分别为0-6
  1. 今年是哪一年
moment().year();  //2020(数字类型)
  1. 当前月
moment().format('MM') //"11" (字符串)
  1. 当前季度
moment().quarter() //4(数字类型)
  1. 转换当前时间的Unix时间戳(从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。)
moment().format('X'); //1.html:13 1606018854
  1. 创建总结
moment().format('YYYY-MM-DD')//2020-11-22
moment("1995-12-25").format('YYYY-MM-DD') // 1995-12-25
moment("12-25-1995", "MM-DD-YYYY") // 1995-12-25
moment({ year :2010, month :3, day :5, hour :15, minute :10, second :3, millisecond :123}).format('YYYY-MM-DD HH:mm:ss') //"2010-04-05 15:10:03"
moment(Date.now() - 24 * 60 * 60 * 1000).format('YYYY-MM-DD') // "2020-11-21"
moment(new Date(2011, 9, 16)).format('YYYY-MM-DD')  // 2011-10-16

相对时间

2018.11.22相对是两年前

moment("2018.11.22", "YYYYMMDD").fromNow(); //"2 years ago"

xx前后,天days,小时hours其他类推

// 7天前的日期:
moment().subtract('days',7).format('YYYY年MM月DD日'); // "2020年11月15日"
//七天后的日期
moment().add('days', 7).format('YYYY年MM月DD日')//"2020年11月29日"(坏)
moment().add(7,'days').format('YYYY年MM月DD日')//"2020年11月29日"(好)

查询

// 早于
moment('2010-10-20').isBefore('2010-10-21') // true
moment('2010-10-20').isBefore('2010-12-31', 'year') // false
moment('2010-10-20').isBefore('2011-01-01', 'year') // true

// 是否相等
moment('2010-10-20').isSame('2010-10-20') // true
moment('2010-10-20').isSame('2009-12-31', 'year')  // false
moment('2010-10-20').isSame('2010-01-01', 'year')  // true

// 晚于
moment('2010-10-20').isAfter('2010-10-19') // true
moment('2010-10-20').isAfter('2010-01-01', 'year') // false
moment('2010-10-20').isAfter('2009-12-31', 'year') // true

// 是否在时间范围内
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('2010-10-20').isBetween('2009-12-31', '2012-01-01', 'year') // true

moment().isLeapYear() // 是否是闰年

moment.js提供了丰富的说明文档,使用它还可以创建日历项目等复杂的日期时间应用。我们日常开发中最常用的是格式化时间,下面我把常用的格式制作成表格说明供有需要的朋友查看
在这里插入图片描述

Moment.js 是我到现在用过的最好用的操作时间的工具库。它使得操作时间变得很简单。希望对你们有用~

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值