目錄
使用方法
引入moment的方法有很多,我這邊react項目就在package.json的dependencies中引入即可,也可以用npm install,把moment.js直接下載放到靜態文件目錄下,等等。
解析
當前時間
moment()
取值/賦值
moment().seconds(30) === new Date().setSeconds(30);
moment().seconds() === new Date().getSeconds();
毫秒
moment().millisecond(Number);
moment().milliseconds(Number);
範圍0-999
秒
moment().second(Number);
moment().seconds(Number);
範圍0-59
分鐘
moment().minute(Number);
moment().minutes(Number);
範圍0-59
小時
moment().hour(Number);
moment().hours(Number);
範圍0-23
日期
moment().date(Number);
moment().dates(Number);
範圍1-31
星期
moment().day(-7); // 上個星期天
moment().day(7); // 下個星期天
moment().day(10); // 下個星期三
取值
moment().get(‘year’);
moment().get(‘month’); // 0-11
moment().get(‘date’);
moment().get(‘hour’);
moment().get(‘minute’);
moment().get(‘second’);
moment().get(‘millisecond’);
賦值
moment().set(‘year’, 2013);
moment().set(‘month’, 3); // 4月
moment().set(‘date’, 1);
moment().set(‘hour’, 13);
moment().set(‘minute’, 20);
moment().set(‘second’, 30);
moment().set(‘millisecond’, 123);
moment().set({‘year’: 2013, ‘month’: 3});
操作
加法
moment().add(7, ‘days’);
moment().add(7, ‘d’);
減法
moment().subtract(7, ‘days’);
開始時間
moment().startOf(‘year’); // 今年1月1日12點
moment().startOf(‘month’); // 本月1日12點
moment().startOf(‘quarter’); // 本季1日12點
moment().startOf(‘week’); // 本週1日12點
moment().startOf(‘day’); // 今天12點
moment().startOf(‘hour’); // set to now, but with 0 mins, 0 secs, and 0 ms
moment().startOf(‘minute’); // set to now, but with 0 seconds and 0 milliseconds
moment().startOf(‘second’); // same as moment().milliseconds(0);
結束時間
moment().endOf(String);
顯示
格式化
moment().format(); // “2014-09-08T08:02:17-05:00” (ISO 8601)
moment().format(“dddd, MMMM Do YYYY, h:mm:ss a”);
// “Sunday, February 14th 2010, 3:25:50 pm”
moment().format(“ddd, hA”); // “Sun, 3PM”
時差(之前)
moment([2007, 0, 29]).fromNow(); // 4 years ago
var a = moment([2007, 0, 28]);
var b = moment([2007, 0, 29]);
a.from(b); // “a day ago”
a.from([2007, 0, 29]); // “a day ago”
a.from(new Date(2007, 0, 29)); // “a day ago”
a.from(“2007-01-29”); // “a day ago”
時差(之後)
moment([2007, 0, 29]).toNow(); // in 4 years
var a = moment([2007, 0, 28]);
var b = moment([2007, 0, 29]);
a.to(b); // “in a day”
a.to([2007, 0, 29]); // “in a day”
a.to(new Date(2007, 0, 29)); // “in a day”
a.to(“2007-01-29”); // “in a day”
時差(ms)
var a = moment([2007, 0, 29]);
var b = moment([2007, 0, 28]);
a.diff(b) // 86400000
var a = moment([2007, 0, 29]);
var b = moment([2007, 0, 28]);
a.diff(b, ‘days’) // 1
Unix時間戳
moment().unix();
天數(月)
moment(“2012-02”, “YYYY-MM”).daysInMonth() // 29
Date對象
moment().toDate();
查詢
是否之前
moment(‘2010-10-20’).isBefore(‘2010-10-21’); // true
moment(‘2010-10-20’).isBefore(‘2010-12-31’, ‘year’); // false
是否相同
moment(‘2010-10-20’).isSame(‘2010-10-20’); // true
moment(‘2010-01-01’).isSame(‘2011-01-01’, ‘month’); // false, different year
moment(‘2010-01-01’).isSame(‘2010-02-01’, ‘day’); // false, different month
是否之後
moment(‘2010-10-20’).isAfter(‘2010-10-19’); // true
是否之間
moment(‘2010-10-20’).isBetween(‘2010-10-19’, ‘2010-10-25’); // true