Moment.js 2.6中文文档


原文链接: Moment.js 2.6中文文档

文档地址:http://momentjs.com/docs/

1. 在哪使用

浏览器或者Node.JS
###Node.js

npm install moment

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

###浏览器

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

###Bower

bower install --save momentjs

2. Parse

2.1 Now

想要得到当前日期和时间,只需调用 moment() ,无需参数

var now = moment()

2.2 通过时间字符串创建

moment(string)

所有浏览器都支持ISO-8601 时间格式

"2013-02-08"
"2013-02-08T09"
"2013-02-08 09"
"2013-02-08T09:30"
"2013-02-08 09:30"
"2013-02-08T09:30:26"
"2013-02-08 09:30:26"
"2013-02-08T09:30:26.123"
"2013-02-08 09:30:26.123"
"2013-02-08T09:30:26 Z"
"2013-02-08 09:30:26 Z"
"2013-W06-5"
"2013-W06-5T09"
"2013-W06-5 09"
"2013-W06-5T09:30"
"2013-W06-5 09:30"
"2013-W06-5T09:30:26"
"2013-W06-5 09:30:26"
"2013-W06-5T09:30:26.123"
"2013-W06-5 09:30:26.123"
"2013-W06-5T09:30:26 Z"
"2013-W06-5 09:30:26 Z"
"2013-039"
"2013-039T09"
"2013-039 09"
"2013-039T09:30"
"2013-039 09:30"
"2013-039T09:30:26"
"2013-039 09:30:26"
"2013-039T09:30:26.123"
"2013-039 09:30:26.123"
"2013-039T09:30:26 Z"
"2013-039 09:30:26 Z"

如果字符串参数不能匹配任何一种格式,并且不能被Date.parse转换,那么moment#isValid返回false

moment('not a real date').isValid(); //false

2.3 通过字符串+格式创建

moment(String, String);
moment(String, String, String);
moment(String, String, Boolean);
moment(String, String, String, Boolean);

2.4 通过字符串数组+格式创建

moment(String, String[], String, Boolean);

2.5 通过对象创建

moment({unit: value, ...});

例如:

moment({hour: 15, minute: 10});
moment({y: 2010, M: 3, d: 5, h: 15, m: 10, s: 3, ms: 123});
moment({year: 2010, month: 3, day: 5, hour: 15, minute: 10, second: 3, millisecond: 123});
moment({years: 2010, months: 3, days: 5, hours: 15, minutes: 10, seconds: 3, milliseconds: 123});

2.6 通过 Unix Offset(miliseconds)创建

moment(Number);

例如:

var day =moment(1318781876406);

2.7 通过Unix Timestamp(seconds)创建

moment.unix(Number)

例如:

var day = moment.unix(1318781876);

2.7 通过Date 对象创建

2.8 通过数组创建

2.9 通过Asp.net JSON Date 创建

3 Moment Clone

moment(Moment);
或者moment#clone

4 UTC

默认情况下,moment以本地时间来显示和转换时间
如果你想以UTC来转换或显示时间,你可以使用moment.utc()

moment.utc();
moment.utc(Number);
moment.utc(Number[]);
moment.utc(String);
moment.utc(String, String);
moment.utc(String, String[]);
moment.utc(String, String, String);
moment.utc(Moment);
moment.utc(Date);

5 parseZone

moment.parseZone(String)

6 验证

moment().isValid();

7 默认时间

moment("15", "hh")

你可以仅指定某些时间单位来创建一个moment对象,未指定的单位则取当前日期默认值,时间为0

8 Get+Set

没有参数调用为getter,有参数调用为setter
为了方便起见,单数和复数形式的函数名均存在

8.1 Millisecond

moment().millisecond(Number);
moment().millisecond(); // Number
moment().milliseconds(Number);
moment().milliseconds(); // Number

接受参数范围0--999,如果超出,将会增加seconds

8.2 Second

moment().second(Number);
moment().second(); // Number
moment().seconds(Number);
moment().seconds(); // Number

接受参数范围0--59,如果超出,将会增加minutes

8.3 Minute

moment().minute(Number);
moment().minute(); // Number
moment().minutes(Number);
moment().minutes(); // Number

接受参数范围0--59,如果超出,将会增加hours

8.4 Hour

moment().hour(Number);
moment().hour(); // Number
moment().hours(Number);
moment().hours(); // Number

接受参数范围0--23,如果超出,将会增加day

8.5 Date of Month

moment().date(Number);
moment().date(); // Number
moment().dates(Number);
moment().dates(); // Number

参数接受范围1--31,如果超出,将会增加months
注意:Moment#date 用来设置date of month,而Moment#day 用来设置day of week

8.6 Day of week

moment().day(Number|String);
moment().day(); // Number
moment().days(Number|String);
moment().days(); // Number

Sunday as 0 and Saturday as 6.如果超出,则变到下一周
也可以使用 week name,例如:

moment().day("Sunday");
moment().day("Monday");

8.7 Day of Week (Locale Aware)

moment().weekday(Number);
moment().weekday(); // Number

根据区域设置gets或者sets day of week

8.9 ISO Day of Week

moment().isoWeekday(Number);
moment().isoWeekday(); // Number

Gets or sets the ISO day of the week with 1 being Monday and 7 being Sunday.

8.10 Day of Year

moment().dayOfYear(Number);
moment().dayOfYear(); // Number

接收参数范围 1--366,如果超出,则进入下一年

8.11 Week of Year

moment().week(Number);
moment().week(); // Number
moment().weeks(Number);
moment().weeks(); // Number

8.12 Week of Year (ISO)

moment().isoWeek(Number);
moment().isoWeek(); // Number
moment().isoWeeks(Number);
moment().isoWeeks(); // Number

当设置week of year 时,day of week 将被保留

8.13 Month

moment().month(Number|String);
moment().month(); // Number
moment().months(Number|String);
moment().months(); // Number

参数接受范围0--11,如果超出,会进入下一年。
注意:月份是zero indexed,即 一月是0
同样支持month name,例如:

moment().month("January");
moment().month("Feb");

8.14 Quarter

moment().quarter(); // Number
moment().quarter(Number);

参数接受范围1--4

8.15 Year

moment().year(Number);
moment().year(); // Number
moment().years(Number);
moment().years(); // Number

接受参数范围-270,000---270,000

8.16 week Year

moment().weekYear(Number);
moment().weekYear(); // Number

8.17 week year (iso)

moment().isoWeekYear(Number);
moment().isoWeekYear(); // Number

8.18 weeks in year(iso)

moment().isoWeeksInYear();

8.19 Get

moment().get('year');
moment().get('month');  // 0 to 11
moment().get('date');
moment().get('hour');
moment().get('minute');
moment().get('second');
moment().get('millisecond');

等同于

moment().get(unit) === moment()[unit]()

Units 是大小写敏感,支持复数和缩写 year (years, y), month (months, M), date (dates, D), hour (hours, h), minute (minutes, m), second (seconds, s), millisecond (milliseconds, ms)

Set

9 操作

9.1 Add

moment().add(String, Number);
moment().add(Number, String); // 2.0.0
moment().add(Duration); // 1.6.0
moment().add(Object);

9.2 Subtract

moment().subtract(String, Number);
moment().subtract(Number, String); // 2.0.0
moment().subtract(Duration); // 1.6.0
moment().subtract(Object);

9.3 start of time

moment().startOf(String);

9.4 end of time

moment().endOf(String);

9.5 Maximum

moment().max(Moment|String|Number|Date|Array);

限制一个moment的最大值

9.6 Minimum

moment().min(Moment|String|Number|Date|Array);

9.7 Local

moment().local();

9.8 UTC

moment().utc()

9.9 Timezone Offset

moment().zone();
moment().zone(Number|String);

10 Display

10.1 Format

moment().format();
moment().format(String);

10.2 Time from now

moment().fromNow();
moment().fromNow(Boolean);

10.3 Time from x

moment().from(Moment|String|Number|Date|Array);
moment().from(Moment|String|Number|Date|Array, Boolean);

10.4 Calendar Time

moment().calendar();

10.5 Difference

moment().diff(Moment|String|Number|Date|Array);
moment().diff(Moment|String|Number|Date|Array, String);
moment().diff(Moment|String|Number|Date|Array, String, Boolean);

想要得到两个moment的时间差millseconds,使用moment#diff
也可以得到另一个单位时间差,例如:

var a = moment([2007, 0, 29]);
var b = moment([2007, 0, 28]);
a.diff(b, 'days') // 1

可能会得到负值

10.6 Unix Offset(milliseconds)

moment.valueof();
+moment();

10.7 Unix Timestamp(seconds)

moment().unix()

10.8 Days in Month

moment().daysInMonth();

10.9 得到javascript Date 对象

moment.toDate();

10.10 得到数组

moment().toArray()

10.11 得到JSON

moment().toJSON();

10.12 得到ISO 8601 字符串

moment().toISOString();

11 查询

11.1 Is Before

11.2 Is Same

11.3 Is After

11.4 Is Leap Year

11.5 Is Daylight Saving Time

11.6 Is a Moment

12 i18n

你可以加载多种语言,并轻松地切换

12.1 Changing language globally

moment.lang(String);
moment.lang(String[]);
moment.lang(String, Object);

moment默认情况下为英语,如果你想切换到其他语言,你可以先把其他语言加载进Moment.js 待用。把键值对赋值给moment.lang,就可以加载语言。
一旦你加载了一种语言,它成为活动语言,想要换语言,只需调用moment.call

12.2 Changing language locally

moment().lang(String);

12.3 在浏览器里加载语言

moment.lang(String, Object);

注意:目录是/min/lang/

12.4 查看当前语言

moment.lang();

12.5 Listing the months and weekdays of the current Moment.js language

moment.months()
moment.monthsShort()
moment.weekdays()
moment.weekdaysShort()
moment.weekdaysMin()

13 自定义

Moment.js 可以非常轻松地自定义。通常,你应该自定义语言。

moment.lang('en-my-settings', {
    // customizations.
});

然而,你也可以覆盖已存在的语言

moment.lang('en', {
    // customizations
});

没有被设置的选项,将继承英语设置

13.1 Month Names

moment.lang('en', {
    months : String[]
});
moment.lang('en', {
    months : Function
});

13.2 Month Abbreviations

moment.lang('en', {
    monthsShort : String[]
});
moment.lang('en', {
    monthsShort : Function
});

13.3 Weekday Names

13.4 Weekday Abbreviations

13.5 Minimal Weekday Abbreviations

13.6 Long Date Formats

13.7 Relative Time

14 Durations

14.1 创建

moment.duration(Number, String);
moment.duration(Number);
moment.duration(Object);
moment.duration(String);

默认单位是 milliseconds

moment.duration(100); // 100 milliseconds

也可以加上单位

moment.duration(2, 'seconds');
moment.duration(2, 'minutes');
moment.duration(2, 'hours');
moment.duration(2, 'days');
moment.duration(2, 'weeks');
moment.duration(2, 'months');
moment.duration(2, 'years');

14.2 Humanize

moment.duration().humanize();

14.3 Milliseconds

moment.duration().milliseconds();
moment.duration().asMilliseconds();

14.4 Seconds

moment.duration().seconds();
moment.duration().asSeconds();

14.5 Minutes

14.6 Hours

14.7 Days

14.8 Months

14.9 Years

14.10 Add Time

moment.duration().add(Number, String);
moment.duration().add(Number);
moment.duration().add(Duration);
moment.duration().add(Object);

14.11 Subtract Time

moment.duration().subtract(Number, String);
moment.duration().subtract(Number);
moment.duration().subtract(Duration);
moment.duration().subtract(Object);

14.12 As Unit of Time

moment.duration().as(string);

Duration#as('x')用来替换 Duration#asX

14.13 Get unit of Time

moment.duration().get(string);

Duration#get('x')用来替换 Duration#x()

Utilities

`