博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用 moment 实现获取本周、前 n 周、后 n 周开始结束日期
阅读量:4122 次
发布时间:2019-05-25

本文共 1914 字,大约阅读时间需要 6 分钟。

本文用 moment.js 实现了获取本周、前 n 周、后 n 周开始结束日期,即周一、周日日期的方法。

先看代码,封装了个工具类 DateTimeUtils.js,可以直接复制到项目中使用

/** * 时间日期工具类 */import moment from 'moment'export default {
/** * 获取本周周一和周日日期 */ getCurrentWeek() {
const start = moment().weekday(1).format('YYYY-MM-DD'); //本周一 const end = moment().weekday(7).format('YYYY-MM-DD'); //本周日 return [start, end] }, /** * 获取前 i 周的周一和周日日期,并以数组的方式返回。 * 当 i=1,获取的是上周一和上周日的日期; * 当 i=2,获取的是上上周一和上上周日的日期 * ...以此类推 * @param i */ getLastWeek(i) {
let weekOfDay = parseInt(moment().format('E'));//计算今天是这周第几天 let last_monday = moment().subtract(weekOfDay + 7 * i - 1, 'days').format('YYYY-MM-DD');//周一日期 let last_sunday = moment().subtract(weekOfDay + 7 * (i - 1), 'days').format('YYYY-MM-DD');//周日日期 return [last_monday, last_sunday] }, /** * 获取后 i 周的周一和周日日期,并以数组的方式返回。 * 当 i=1,获取的是下周一和下周日的日期; * 当 i=2,获取的是下下周一和下下周日的日期 * ...以此类推 * @param i */ getNextWeek(i) {
let weekOfDay = parseInt(moment().format('E'));//计算今天是这周第几天 let next_monday = moment().add((7 - weekOfDay) + 7 * (i - 1) + 1, 'days').format('YYYY-MM-DD');//周一日期 let next_sunday = moment().add((7 - weekOfDay) + 7 * i, 'days').format('YYYY-MM-DD');//周日日期 return [next_monday, next_sunday] }}

举几个例子来说明使用方法

let currentWeek1 = DateTimeUtils.getCurrentWeek()  //获取本周开始结束日期let currentWeek2 = DateTimeUtils.getLastWeek(0)  //获取本周开始结束日期let currentWeek3 = DateTimeUtils.getNextWeek(0)  //获取本周开始结束日期let lastWeek1 = DateTimeUtils.getLastWeek(1)  //获取上周开始结束日期let lastWeek2 = DateTimeUtils.getLastWeek(2)  //获取前两周的那一周即上上周开始结束日期let lastWeek3 = DateTimeUtils.getLastWeek(3)  //获取前三周的那一周开始结束日期let nextWeek1 = DateTimeUtils.getNextWeek(1)  //获取下周开始结束日期let nextWeek2 = DateTimeUtils.getNextWeek(2)  //获取后两周那一周即下下周开始结束日期let nextWeek3 = DateTimeUtils.getNextWeek(3)  //获取后三周那一周开始结束日期

想获取前几周或后几周的开始结束日期,就在调用 getLastWeek(i)getNextWeek(i) 的时候把相应的数字传进去即可。当然传 0 的话就是获取本周的数据。

转载地址:http://xtvpi.baihongyu.com/

你可能感兴趣的文章
Java异常分类
查看>>
项目中的jackson与json-lib使用比较
查看>>
Jackson Tree Model Example
查看>>
j2ee-验证码
查看>>
日志框架logj的使用
查看>>
js-高德地图规划路线
查看>>
常用js收集
查看>>
mydata97的日期控件
查看>>
如何防止sql注入
查看>>
maven多工程构建与打包
查看>>
springmvc传值
查看>>
Java 集合学习一 HashSet
查看>>
在Eclipse中查看Android源码
查看>>
Android使用webservice客户端实例
查看>>
层在页面中的定位
查看>>
[转]C语言printf
查看>>
C 语言 学习---获取文本框内容及字符串拼接
查看>>
C 语言学习 --设置文本框内容及进制转换
查看>>
C 语言 学习---判断文本框取得的数是否是整数
查看>>
C 语言 学习---ComboBox相关、简单计算器
查看>>