下周开始';使用纯javascript设置开始和结束日期
我使用moment.js计算下周的开始日期和结束日期。但现在我已经删除它,因为一些缩小的问题 我可以得到本周的开始和结束日期如下:下周开始';使用纯javascript设置开始和结束日期,javascript,date,typescript,Javascript,Date,Typescript,我使用moment.js计算下周的开始日期和结束日期。但现在我已经删除它,因为一些缩小的问题 我可以得到本周的开始和结束日期如下: var today = new Date; var first = today.getDate() - today.getDay(); (this.fromDate = new Date(today.setDate(first))); (this.toDate = new Date(today.setDate(last))); 如何找到下周的开始和结束日期?
var today = new Date;
var first = today.getDate() - today.getDay();
(this.fromDate = new Date(today.setDate(first)));
(this.toDate = new Date(today.setDate(last)));
如何找到下周的开始和结束日期?不是100%的时间,但是如果你稍微修改一下,你应该能够找到方法
function test() {
var today = new Date;
alert(getMonday(today));
}
function getMonday( date ) {
date.setHours((24*7));
var day = date.getDay() || 7;
if( day !== 1 )
date.setHours(-24 * (day - 1));
return date;
}
刚刚编辑了答案,这应该会让你下周一的日期,而不是100%的日期,但是如果你稍微修改一下,你应该能够弄清楚怎么做
function test() {
var today = new Date;
alert(getMonday(today));
}
function getMonday( date ) {
date.setHours((24*7));
var day = date.getDay() || 7;
if( day !== 1 )
date.setHours(-24 * (day - 1));
return date;
}
刚刚编辑了答案,这应该会让你在下个星期一的日期你可以使用
getFullYear()
,getMonth()
和getDate()
方法来实现
函数getWeekBegin(){
var now=新日期();
var next=新日期(now.getFullYear()、now.getMonth()、now.getDate()+(7-now.getDay());
下一步返回;
}
var firstDay=getWeekBegin();
console.log(“第一天:+firstDay”);
var lastDay=firstDay.setDate(firstDay.getDate()+6);
console.log(“最后一天:+新日期(最后一天))您可以使用
getFullYear()
、getMonth()
和getDate()
方法来实现这一点
函数getWeekBegin(){
var now=新日期();
var next=新日期(now.getFullYear()、now.getMonth()、now.getDate()+(7-now.getDay());
下一步返回;
}
var firstDay=getWeekBegin();
console.log(“第一天:+firstDay”);
var lastDay=firstDay.setDate(firstDay.getDate()+6);
console.log(“最后一天:+新日期(最后一天))代码>只需将本周开始前的7天相加,即可获得下一周开始的时间;要获得一周的结束时间,请在一周的开始时间后再增加6天
var日期=新日期;
var nextWeekStart=date.getDate()-date.getDay()+7;
var nextWeekFrom=新日期(Date.setDate(nextWeekStart));
var nextWeekEnd=date.getDate()-date.getDay()+6;
var nextWeekTo=新日期(Date.setDate(nextWeekEnd));
log('nextWeekFrom:'+nextWeekFrom.toString())
console.log('nextWeekTo:'+nextWeekTo.toString())
只需将本周开始前的7天相加,即可获得下一周开始的时间;要获得一周的结束时间,请在一周的开始时间后再增加6天
var日期=新日期;
var nextWeekStart=date.getDate()-date.getDay()+7;
var nextWeekFrom=新日期(Date.setDate(nextWeekStart));
var nextWeekEnd=date.getDate()-date.getDay()+6;
var nextWeekTo=新日期(Date.setDate(nextWeekEnd));
log('nextWeekFrom:'+nextWeekFrom.toString())
console.log('nextWeekTo:'+nextWeekTo.toString())
以下内容简化了代码并提供了一些解释。setDate方法修改日期并返回新的时间值,因此可以使用它一次性修改日期并创建副本
//获取当前日期
var d=新日期();
//设置为下周日并复制
var startOfWeek=新日期(d.setDate(d.getDate()+7-d.getDay());
//定在下周六
d、 设置日期(d.getDate()+6);
log('Start of week:'+startOfWeek.toString());
log('周末:'+d.toString());
//以下显示了以主机默认语言格式化的日期
//但可能缺乏对toLocaleString选项的支持
var options={weekday:'long',year:'numeric',month:'long',day:'numeric'};
log('Start of week:'+startOfWeek.tolocalString(未定义,选项));
log('周末:'+d.toLocaleString(未定义,选项))代码>以下内容简化了代码并提供了一些解释。setDate方法修改日期并返回新的时间值,因此可以使用它一次性修改日期并创建副本
//获取当前日期
var d=新日期();
//设置为下周日并复制
var startOfWeek=新日期(d.setDate(d.getDate()+7-d.getDay());
//定在下周六
d、 设置日期(d.getDate()+6);
log('Start of week:'+startOfWeek.toString());
log('周末:'+d.toString());
//以下显示了以主机默认语言格式化的日期
//但可能缺乏对toLocaleString选项的支持
var options={weekday:'long',year:'numeric',month:'long',day:'numeric'};
log('Start of week:'+startOfWeek.tolocalString(未定义,选项));
log('周末:'+d.toLocaleString(未定义,选项))代码>你能在我回答你的另一个问题时使用代码吗?你能在我回答你的另一个问题时使用密码吗?lastDay不属于日期类型lastDay不属于日期类型您不应该通过添加小时来添加天,因为并非所有的天都是24小时长的(由于夏令时的更改)。您不应该通过添加小时来添加天,因为并非所有的天都是24小时长的(由于夏令时的更改)。此代码为下周末提供了不正确的结果。行var-nextWeekEnd=…
应该在var-nextWeekFrom=…
之后,因为该行修改了日期。@RobG你说得对。上次编辑后我搞砸了。再次感谢这段代码在下周末给出了一个不正确的结果。行var-nextWeekEnd=…
应该在var-nextWeekFrom=…
之后,因为该行修改了日期。@RobG你说得对。上次编辑后我搞砸了。再次感谢