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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值