一、概念: https://www.cnblogs.com/Jimc/p/10591580.html 或 http://momentjs.cn/(官网)
1、Moment.js是一个轻量级的JavaScript时间库,它方便了日常开发中对时间的操作,提高了开发效率。
二、API: 日常开发中,通常会对时间进行下面这几个操作:比如获取时间,设置时间,格式化时间,比较时间等等。
1、引入 moment.js 文件:
// require 方式 var moment = require('moment'); // import 方式 import moment from 'moment';
2、设置 moment 时区: 好像默认就是 中国的时区。所以一般不用单独去设置。
import 'moment/locale/zh-cn'
moment.locale('zh-cn');
3、创建 moment 时间对象: moment 对象 类似 Date 对象。一个moment 对象就是一个时间对象。但是不同于原生的 Date对象,是经过封装的时间对象。
a、时间对象都是有完整时间戳的,原生Date时间对象 的 时间戳一般是固定,不会去改变的,但是 moment 时间对象的 时间戳,通过调用API是会变化的(即改变了时间)。
moment() // 里面可以传入参数,创建指定时间的 时间对象。注意一个 moment 时间对象,只能执行一次moment()。就像 原生的 Date 一样,只能new一次。不然 每执行一次就是一个新的 时间对象。
b、moment 时间对象,指向的时间对象是可变的。这点和 Date时间对象是不一样的。所以不要 把 一个 moment 对象,赋值给一个变量,在对这个变量进行时间设置。
let test = moment() // 创建moment时间对象。 console.log(test.format('YYYY-MM-DD hh:mm:ss a')) // 2019-11-26 09:34:19 pm test.add(1,'days') console.log(test.format('YYYY-MM-DD hh:mm:ss a')) // 2019-11-27 09:34:19 pm
4、获取时间对象的信息: moment 时间对象 提供 了这个时间对象下各种时间的获取。如:获取一个时间对象的 时、分、秒 等等。
moment 提供获取时间对象信息的接口蛮多的,具体的可以参考 公网 或者 https://www.cnblogs.com/Jimc/p/10591580.html
5、相对时间:创建 和 某个时间对象,相对的 时间对象。如: 一个星期前的时间对象(相对当前时间)、一个月前的时间对象等。