Moment.js是一个JS处理日期相关的类库。Moment.js主要用于解析、检验、操作、以及显示日期,Moment.js可以很好的在IE8,9,Chrome,Safari,Firefox等浏览器中运行,当然也可以在Node.JS下运行。下面主要讲解下Moment.js的用法和一些API。
1、Moment.js分别在NodeJS下和在浏览器中引入
NodeJS
|
1
2 3 |
npm install moment
var moment = require('moment'); moment().format() |
Browser浏览器
2、Moment.js常用API
|
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
//日期格式化
moment().format('MMMM Do YYYY, h:mm:ss a'); // 十二月 13日 2015, 1:30:13 下午 moment().format('dddd'); // 星期日 moment().format("MMM Do YY"); // 12月 13日 15 moment().format('YYYY [escaped] YYYY'); // 2015 escaped 2015 moment().format(); // 2015-12-13T13:30:13+08:00 //相对时间 moment("20111031", "YYYYMMDD").fromNow(); // 4 年前 moment("20120620", "YYYYMMDD").fromNow(); // 3 年前 moment().startOf('day').fromNow(); // 14 小时前 moment().endOf('day').fromNow(); // 10 小时内 moment().startOf('hour').fromNow(); // 30 分钟前 //日历时间 moment().subtract(10, 'days').calendar(); // 2015年12月3日 moment().subtract(6, 'days').calendar(); // 本周一下午1点30 moment().subtract(3, 'days').calendar(); // 本周四下午1点30 moment().subtract(1, 'days').calendar(); // 昨天下午1点30分 moment().calendar(); // 今天下午1点30分 moment().add(1, 'days').calendar(); // 明天下午1点30分 moment().add(3, 'days').calendar(); // 下周三下午1点30 moment().add(10, 'days').calendar(); // 2015年12月23日 |
3、Moment.js格式化参数详解
| 格式代码 | 说明 | 返回值例子 |
| 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 |
