文章目录
moment 被设计为在浏览器和 Node.js 中都能工作
1. node.js
npm install moment
var moment = require('moment');
moment().format();
2.使用方法
- 日期格式化
初始化日期:moment().format(‘YYYY-MM-DD’);
初始化日期时间:moment().format(‘YYYY-MM-DD HH:mm:ss’);
日期格式化介绍
具体可以查看格式化表日期格式化规范表
MMMM/MMM/MM/M 显示为 一月/一月/01/1
(4个M显示全称,3个M显示缩写,对于中文来说,月份的全称和缩写是一样的,英文就是January和Jan)
dddd/ddd/dd/d
周一/一/01/1
yyyy-MM-dd HH:mm:ss
年-月-日 时:分:秒
小时 hh HH
小写的h是12小时制,大写的H是24小时制
mm与m,它们的区别为是否有前导零
H,m,s表示非零开始,HH,mm,ss表示从零开始
例如:凌晨1点2分
HH:mm显示为 01:02
H:m显示为 1:2
fromNow() 相对时间
moment().fromNow();
moment().fromNow(Boolean);
//今年是2020年
moment([2016, 0, 29]).fromNow(); // 4 年前
moment([2016, 0, 29]).fromNow(true); // 4 年 ,传入 true,则可以获得不带后缀的值。
startOf() endOf()应用场景:
在时间、日期组件使用时,可以禁选当天之前的日期。
时间做比较时使用
startOf() 时间开头
通过将原始的 moment 设置为时间单位的开头来对其进行更改
moment().startOf(‘hour’); // 设置为当前时间, 0 分钟、0 秒钟、0 毫秒
moment().startOf(‘day’);设置为今天的00:00:00;
endOf 时间末尾
通过将原始的 moment 设置为时间单位的末尾来对其进行更改
moment().endOf(‘year’); 设置为今年的12月31号的23:59:59
moment().endOf(‘day’);设置为今天的23:59:59;
subtract() 时间减
moment().format(“YYYY-MM-DD HH:mm:ss”); //当前时间
moment().subtract(10, “days”).format(“YYYY-MM-DD”);//当前时间的前10天时间
moment().subtract(1, “years”).format(“YYYY-MM-DD”);//当前时间的前1年时间
(moment().subtract(3, “months”).format(“YYYY-MM-DD”);//当前时间的前3个月时间
moment().subtract(1, “weeks”).format(“YYYY-MM-DD”);//当前时间的前一个星期时间
add 时间加
moment().add(‘days’,7).format(‘YYYY年MM月DD日’); //当前时间7天后的日期
moment().add(‘hours’,9).format(‘HH:mm:ss’); //当前时间9小时后的时间
this.moment(startDate).add(2, ‘days’).format(‘YYYY-MM-DD’)
指定日期(startDate)加2天并输出格式
获取星期几
this.moment().day() 或 this.moment(startDate).day()
当前日期/指定日期 是星期几`
计算两个时间的差值diff方法
- 开始时间和结束时间的时间差;endTime和startTime都是毫秒数
moment(endTime).diff(moment(startTime), ‘years’)
moment(endTime).diff(moment(startTime), ‘months’)
moment(endTime).diff(moment(startTime), ‘days’)
moment(endTime).diff(moment(startTime),‘minutes’ )
moment(endTime).diff(moment(startTime), ‘seconds’)