js中获取本周开始和结束时间(格式:年月日-年月日)

上周周日的时候运营碰到一个问题,在页面中有一个本周的按钮的,点击获取本周周一到周日的日期(格式:2019年04月29日-2019年05月05日),因为是周日,所以应该获取本周的日期,但是显示的是下一周的日期.我看完代码发现原来是写的方法有误,而在网上也有不少方法和此方法一样.
错误案例:
//在周日的时候会显示下周开始和结束时间
function setZero(vv) {
return Number(vv) < 10 ? “0” + vv : vv;
}

function getWeek(i) { //获取本周的所有日期
var now = new Date();
var firstDay = new Date(now - (now.getDay() - 1) * 86400000);
firstDay.setDate(firstDay.getDate() + i);
var mon = firstDay.getMonth() + 1;
if (mon < 10) {
return now.getFullYear() + “年” + “0” + mon + “月” + setZero(firstDay.getDate()) + “日”;
} else {
return now.getFullYear() + “年” + mon + “月” + setZero(firstDay.getDate()) + “日”;
}
}

正确案例:
//在周日的时候会显示本周开始和结束时间
function setZero(vv) {
return Number(vv) < 10 ? “0” + vv : vv;
}
function getWeek(i) {
var new_Dates = new Date();
//此注释的部分是为了在页面上打印,便于观看其中’1’指的是1天,测试的时候你可以换成6
//console.log(‘初始开始日期’,new_Dates);
//var nowdd = new_Dates.setDate(new_Dates.getDate()-1);
//var new_Date= new Date(nowdd)
//console.log(‘初始结束日期’,new_Date);
var timesStamp = new_Date.getTime();
var currenDay = new_Date.getDay();
var ymd = new Date(timesStamp + 24 * 60 * 60 * 1000 * (i - (currenDay + 6) % 7));
var mon = new Date(timesStamp + 24 * 60 * 60 * 1000 * (i - (currenDay + 6) % 7)).getMonth()+1;
if (mon < 10) {
return ymd.getFullYear() + “年” + “0” + mon + “月” + setZero(ymd.getDate()) + “日”;
} else {
return ymd.getFullYear() + “年” + mon + “月” + setZero(ymd.getDate()) + “日”;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值