moment.js 前端处理时间的神器:处理年月日小时分钟秒数(YYYYMMDDHHmmss),获取任一时间段的日期

moment.js 前端处理时间的神器:处理年月日小时分钟秒数(YYYYMMDDHHmmss),获取任一时间段的日期

安装:可以直接下载引用,也可以使用npm或Yarn下载

npm install moment --save   # npm
yarn add moment             # Yarn

一、获取时间

毫秒millisecond() 

获取或设置毫秒。

接受 0 到 999 之间的数字。 如果超出范围,则它将会冒泡到秒钟。

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

秒数second() 

获取或设置秒钟。

接受 0 到 59 之间的数字。 如果超出范围,则它将会冒泡到分钟。

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

分钟minute() 

获取或设置分钟。

接受 0 到 59 之间的数字。 如果超出范围,则它将会冒泡到小时。

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

小时hour() 

获取或设置小时。

接受 0 到 23 之间的数字。 如果超出范围,则它将会冒泡到日期。

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

日期date() 

获取或设置月份的日期。

接受 1 到 31 之间的数字。 如果超出范围,则它将会冒泡达到月份。

注意:如果链接多个操作以构造一个日期,则应从年份、月份、日期等依次开始。 否则,可能会得到意外的结果,例如,当 day=31 并且当前月份只有 30 天时(同样适用于原生 JavaScript Date 的操作),返回的日期将会为当前月份的 30 号

正确:moment().year(year).month(month).date(day)

以后推荐使用moment().date()   moment().dates()将被废弃

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

星期day() 

此方法可用于设置星期几,其中星期日为 0、星期六为 6。

如果给定的值是 0 到 6,则结果的日期将会在当前(星期日至星期六)的星期。

如果超出范围,则它将会冒泡到其他星期。

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

举例:

moment().day(-7); // 上个星期日 (0 - 7)
moment().day(0); // 这个星期日 (0)
moment().day(7); // 下个星期日 (0 + 7)
moment().day(10); // 下个星期三 (3 + 7)
moment().day(24); // 从现在起第 3 个星期三 (3 + 7 + 7 + 7)

周数week()

获取或设置年份的星期。

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

月份month()

获取或设置月份。

接受 0 到 11 之间的数字。 如果超出范围,则它将会冒泡到年份。

注意:月份是零索引的,因此一月是月份 0。

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

2.16.0 废弃使用 moment().months()。 改用 moment().month()

年份year() 

获取或设置年份。

接受 -270,000 至 270,000 之间的数字。

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

获取年月日小时分钟秒数时间get() 

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

相对当前时间加减add() 

通过增加时间来改变原始的 moment。

这是一个相当稳健的功能,可以为现有的 moment 增加时间。 若要增加时间,则传入要增加的时间的键、以及要增加的数量。

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

举例:

moment().add(7, 'd');//当前时间的未来7天

日期时间数据格式化

moment().format('MMMM Do YYYY, h:mm:ss a'); // 五月 26日 2020, 3:23:22 下午
moment().format('dddd');                    // 星期二
moment().format("MMM Do YY");               // 5月 26日 20
moment().format('YYYY [escaped] YYYY');     // 2020 escaped 2020
moment().format();                          // 2020-05-26T15:23:22+08:00
moment('20200530122121').format('YYYY-MM-DD HH:mm:ss');   // 2020-05-30 12:21:21

相对时间

moment("20111031", "YYYYMMDD").fromNow(); // 9 年前
moment("20120620", "YYYYMMDD").fromNow(); // 8 年前
moment().startOf('day').fromNow();        // 15 小时前
moment().endOf('day').fromNow();          // 9 小时内
moment().startOf('hour').fromNow();       // 23 分钟前

日历时间

moment().subtract(10, 'days').calendar(); // 2020/05/16
moment().subtract(6, 'days').calendar();  // 上星期三15:23
moment().subtract(3, 'days').calendar();  // 上星期六15:23
moment().subtract(1, 'days').calendar();  // 昨天15:23
moment().calendar();                      // 今天15:23
moment().add(1, 'days').calendar();       // 明天15:23
moment().add(3, 'days').calendar();       // 下星期五15:23
moment().add(10, 'days').calendar();      // 2020/06/05

多语言支持

moment.locale();         // zh-cn
moment().format('LT');   // 15:23
moment().format('LTS');  // 15:23:22
moment().format('L');    // 2020/05/26
moment().format('l');    // 2020/5/26
moment().format('LL');   // 2020年5月26日
moment().format('ll');   // 2020年5月26日
moment().format('LLL');  // 2020年5月26日下午3点23分
moment().format('lll');  // 2020年5月26日 15:23
moment().format('LLLL'); // 2020年5月26日星期二下午3点23分
moment().format('llll'); // 2020年5月26日星期二 15:23

更多功能可以查看官网文档,转换时间很是方便,不用自己再进行封装函数

momentjs官网地址:http://momentjs.cn/

有啥不懂得可以留言讨论

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码上登堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值