现将这些函数全部挂在到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());
})
效果:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/79798.html