moment.js 前端处理时间的神器:处理年月日小时分钟秒数(YYYYMMDDHHmmss),获取任一时间段的日期
安装:可以直接下载引用,也可以使用npm或Yarn下载
npm install moment --save # npm
yarn add moment # Yarn
一、获取时间
获取或设置毫秒。
接受 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/
有啥不懂得可以留言讨论