Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
下周开始';使用纯javascript设置开始和结束日期_Javascript_Date_Typescript - Fatal编程技术网

下周开始';使用纯javascript设置开始和结束日期

下周开始';使用纯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))); 如何找到下周的开始和结束日期?

我使用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)));

如何找到下周的开始和结束日期?

不是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你说得对。上次编辑后我搞砸了。再次感谢