js中获取指定日期的一周的开始和结束日期,以及一周的所有日期的数组

导读:本篇文章讲解 js中获取指定日期的一周的开始和结束日期,以及一周的所有日期的数组,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

现将这些函数全部挂在到new Date的原型上,之后咋们就可以通过原型上的this,调动此时的new Date

//周开始日期(周一为每周开始,周日为每周结束)
Date.prototype.beginOfWeek = function() {
	let subDay = 0;
	let weekDay = this.getDay();
	if (weekDay == 0) {
		//周天
		subDay = 6;
	} else {
		subDay = weekDay - 1;
	}
	let beginDateTime = this.getTime() - (86400000 * subDay);
  let data=new Date(beginDateTime).getDate()
  let month=new Date(beginDateTime).getMonth()+1
  let year=new Date(beginDateTime).getFullYear()
	return year+'-'+(month<10? '0'+month:month)+'-'+(data<10? '0'+data:data);
}
//周结束日期(周一为每周开始,周日为每周结束)
Date.prototype.endOfWeek = function() {
	let weekDay = this.getDay();
	if (weekDay == 0) {
		//周天
    let data=this.getDate()
    let month=this.getMonth()+1
    let year=this.getFullYear()
		return year+'-'+(month<10? '0'+month:month)+'-'+(data<10? '0'+data:data);
	} else {
		let addDay = 7 - weekDay;
		let endDateTime = this.getTime() + (86400000 * addDay);
    let data=new Date(endDateTime).getDate()
    let month=new Date(endDateTime).getMonth()+1
    let year=new Date(endDateTime).getFullYear()
		return year+'-'+(month<10? '0'+month:month)+'-'+(data<10? '0'+data:data);
	}
}
// 指定日期的一周的所有日期的数组
Date.prototype.getWeekTime=function(){
  // var new_Date = new Date(2021,11,10) //获取指定日期当周的一周日期
  var new_Date = this//获取本周一周日期
  var timesStamp = new_Date.getTime();
  var currenDay = new_Date.getDay();
  var dates = [];
  for(var i = 0; i < 7; i++) {
      var das = new Date(timesStamp + 24 * 60 * 60 * 1000 * (i - (currenDay + 6) % 7)).toLocaleDateString();
      das.replace(/[年月]/g, '.').replace(/[日上下午]/g, '');
      dates.push(das);
  }
  console.log(dates);
  console.log("一周时间:"+JSON.stringify(dates),123)
  return dates
}

调用的时候:(注意这里在new Date中传递月份的时候减去1,得到的日期中的月要加一)

$(function () {

  // 一周中所有日期
  console.log('一周的日期',new Date(2022,11,07).getWeekTime());
  //一周的开始日期
  console.log('一周的开始日期',new Date(2022,11,07).beginOfWeek());
  //一周的结束日期
  console.log('一周的结束日期',new Date(2022,11,07).endOfWeek());
})

效果:

js中获取指定日期的一周的开始和结束日期,以及一周的所有日期的数组 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/79798.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!