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()