moment.js是一款转换时间的插件
安装方式为:
npm install moment --save
其常用的格式化参数如下表所示:
格式代码 | 说明 | 返回值例子 |
---|---|---|
M | 数字表示的月份,没有前导零 | 1到12 |
MM | 数字表示的月份,有前导零 | 01到12 |
MMM | 三个字母缩写表示的月份 | Jan到Dec |
MMMM | 月份,完整的文本格式 | January到December |
Q | 季度 | 1到4 |
D | 月份中的第几天,没有前导零 | 1到31 |
DD | 月份中的第几天,有前导零 | 01到31 |
d | 星期中的第几天,数字表示 | 0到6,0表示周日,6表示周六 |
ddd | 三个字母表示星期中的第几天 | Sun到Sat |
dddd | 星期几,完整的星期文本 | 从Sunday到Saturday |
w | 年份中的第几周 | 如42:表示第42周 |
YYYY | 四位数字完整表示的年份 | 如:2014 或 2000 |
YY | 两位数字表示的年份 | 如:14 或 98 |
A | 大写的AM PM | AM PM |
a | 小写的am pm | am pm |
HH | 小时,24小时制,有前导零 | 00到23 |
H | 小时,24小时制,无前导零 | 0到23 |
hh | 小时,12小时制,有前导零 | 00到12 |
h | 小时,12小时制,无前导零 | 0到12 |
m | 没有前导零的分钟数 | 0到59 |
mm | 有前导零的分钟数 | 00到59 |
s | 没有前导零的秒数 | 1到59 |
ss | 有前导零的描述 | 01到59 |
X | Unix时间戳 | 1411572969 |
常用的转换
1.时间格式化
moment().format('YYYY-MM-DD HH:mm:ss');获取当前时间 2018-09-18 12:06:09
moment().format('L') 2018-07-04
moment().format('LL') 2018年7月4日
moment().format('LLL') 2018年7月4日晚上5点55分
moment().format('LLLL') 2018年7月4日星期三晚上5点55分
moment().format('X'); 转换当前时间的Unix时间戳
moment().format('d'); 今天是周几
2.日期格式化
moment().format('dddd') 星期三
moment().format('MMM Do YY') 7月4日 18
moment().format() 2018-07-04T18:04:52+08:00
3.日历格式化
moment().subtract(1,'days').calendar();昨天下午5点55分
moment.calendar();今天下午5点55分
moment().add(1,'days').calendar();明天下午5点55分
4.时间戳转为时间
(1)时间戳秒
转时间
moment(Number);
(2)时间戳毫秒
转时间
var day = moment.unix(1318781876);
5.时间差转化为相对的秒、分钟或者小时
这里的stopTime和 startTime为开始和结束的日期格式,需要将时间差转化为秒或者分钟,再进行逻辑判断。
let consumingSeconds = moment.duration(moment(stopTime).valueOf()- moment(startTime).valueOf()).as('seconds');
let consumingMinutes = moment.duration(moment(stopTime).valueOf()- moment(startTime).valueOf()).as('minutes');
let consumingHours = moment.duration(moment(stopTime).valueOf()- moment(startTime).valueOf()).as('hours');