开发中经常遇到日期/时间的相关操作,moment.js为此类操作带来了极大的便利,下面通过一个简单的需求,记录一下moment.js的基本用法。
需求
获取最近三周的每周一和周日,并将每周的日期罗列出来。
安装并引入moment.js
- cdn方式
在html页中引入moment.js1
| <script src="http://cdn.staticfile.org/moment.js/2.24.0/moment.min.js"></script>
|
- npm方式
首先执行npm i moment
,安装moment。然后在相关ts或者js文件中引入moment1
| import * as moment from 'moment';
|
moment.js使用
在写js逻辑代码的地方,编写如下代码,即可实现上述需求
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| let week = 3;
let weekOfDay = new Date().getDay();
for (let i = 0; i < week; i++) { let last_monday = '', last_sunday = '', obj = {}; last_monday = moment() .subtract(weekOfDay + 7 * i - 1, 'days') .format('YYYY/MM/DD'); last_sunday = moment() .subtract(weekOfDay + 7 * (i - 1), 'days') .format('YYYY/MM/DD'); var data = []; for (let j = 1; j <= 7; j++) { var day = moment() .subtract(weekOfDay + 7 * i - j, 'days') .format('YYYY/MM/DD'); data[j - 1] = day; } obj.date = `${last_monday} ~ ${last_sunday}`; obj.data = data; console.log(obj); }
|