moment.js學習筆記

使用方法

引入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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章