momentjs开始使用momentjs


备注

本节概述了什么是momentjs,以及开发人员为什么要使用它。

它还应该提及momentjs中的任何大型主题,并链接到相关主题。由于momentjs的文档是新的,您可能需要创建这些相关主题的初始版本。

计算和操作日期

如果你有一个时刻对象,你可以使用addsubstract 来操纵它或直接设置时间的任何属性

 moment("2016-01-01").add(1, 'year').format('YYYY-MM-DD')
 // -> "2017-01-01"
 

或者使用.day() .month() .year() .seconds() .milliseconds() 直接设置这些值。请注意,传递的参数是0索引的。

 moment("2016-01-01").month(4).day(5).format('YYYY-MM-DD')
// -> "2016-05-06"
 

解析日期

您可以使用片刻来解析日期字符串。

默认情况下,当前尝试将日期解析为ISO-8601字符串,如果不起作用,则会回退到浏览器new Date() 。由于浏览器构建日期的方式各不相同,因此最好不要回到此处。

moment('2016-02-04').format('YYYY-MM-DD')
// ->'2016-02-04'
 

如果你有ISO 8601以外的格式,最好将格式字符串作为第二个参数传递给moment。

moment('04-02-2016', 'MM-DD-YYYY').format('YYYY-MM-DD')
// ->'2016-02-04'
 

一般用法

Moment 使用日期和时间的方法是将现有的Date() 对象包装在moment() 对象中,并在此对象上指定有用且直观的方法。

格式日期

moment().format('MMMM Do YYYY, h:mm:ss a'); // August 4th 2016, 10:41:45 am
moment().format('dddd');                    // Thursday
moment().format("MMM Do YY");               // Aug 4th 16
moment().format('YYYY [escaped] YYYY');     // 2016 escaped 2016
moment().format();                          // 2016-08-04T10:41:45+02:00
 

相对时间

moment("20111031", "YYYYMMDD").fromNow(); // 5 years ago
moment("20120620", "YYYYMMDD").fromNow(); // 4 years ago
moment().startOf('day').fromNow();        // 11 hours ago
moment().endOf('day').fromNow();          // in 13 hours
moment().startOf('hour').fromNow();       // 42 minutes ago
 

日历时间

moment().subtract(10, 'days').calendar(); // 07/25/2016
moment().subtract(6, 'days').calendar();  // Last Friday at 10:42 AM
moment().subtract(3, 'days').calendar();  // Last Monday at 10:42 AM
moment().subtract(1, 'days').calendar();  // Yesterday at 10:42 AM
moment().calendar();                      // Today at 10:42 AM
moment().endOf('day');                    // Today at 23:59 AM
moment().add(1, 'days').calendar();       // Tomorrow at 10:42 AM
moment().add(3, 'days').calendar();       // Sunday at 10:42 AM
moment().add(10, 'days').calendar();      // 08/14/2016
 

多语言环境支持

moment.locale();         // en
moment().format('LT');   // 10:43 AM
moment().format('LTS');  // 10:43:14 AM
moment().format('L');    // 08/04/2016
moment().format('l');    // 8/4/2016
moment().format('LL');   // August 4, 2016
moment().format('ll');   // Aug 4, 2016
moment().format('LLL');  // August 4, 2016 10:43 AM
moment().format('lll');  // Aug 4, 2016 10:43 AM
moment().format('LLLL'); // Thursday, August 4, 2016 10:43 AM
moment().format('llll'); // Thu, Aug 4, 2016 10:43 AM
 

安装或设置

Moment是一个javascript库,旨在使日期和时间的工作更省时,更直观。
您可以使用以下指南之一在Web应用程序中安装此库,从而轻松开始使用此库。

浏览器

您可以从官方网站下载JS文件或使用cdnjs.com

使用本地JS文件

<script src="moment.js"></script>
<script>
    moment().format();
</script>
 

随着CDN

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
<script>
    moment().format();
</script>
 

Node.js的

npm install moment
 

Moment应该包含在node_modules 目录中,然后将其添加到您的脚本中

var moment = require('moment');
moment().format();
 

鲍尔

bower install --save moment
 

要测试您的站点或Web应用程序是否正确使用moment.js脚本,打开控制台(键盘上的F12)并键入moment ,控制台应打印时刻功能(如果已包含)。

将Date对象转换为moment对象

要将Javascript Date对象转换为片刻(片刻对象),只需调用moment 并将Date作为参数传递

moment(new Date());
// Moment {_isAMomentObject: true, _i: Sun Jul 31 2016 11:08:02 GMT+0300 (Jerusalem Daylight Time), _isUTC: false, _pf: Object, _locale: Locale…}
 

要将时刻转回Javascript日期,请使用.toDate() 方法

var now = new Date();
var mom = moment(now)
//undefined
mom
// Moment {_isAMomentObject: true, _i: Sun Jul 31 2016 11:10:32 GMT+0300 (Jerusalem Daylight Time), _isUTC: false, _pf: Object, _locale: Locale…}
mom.toDate()
// Sun Jul 31 2016 11:10:32 GMT+0300 (Jerusalem Daylight Time)