我使用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)));
如何找到下周的开始和结束日期?
答案 0 :(得分:2)
您可以使用getFullYear()
,getMonth()
和getDate()
方法实现此目标。
function getWeekBegin() {
var now = new Date();
var next = new Date(now.getFullYear(), now.getMonth(), now.getDate()+(7 - now.getDay()));
return next;
}
var firstDay = getWeekBegin();
console.log("First day: "+firstDay);
var lastDay=firstDay.setDate(firstDay.getDate() + 6);
console.log("Last day: "+new Date(lastDay));

答案 1 :(得分:1)
不是你所追求的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;
}
刚刚编辑了答案,这应该可以让你在下一个星期一的日期
答案 2 :(得分:0)
在本周开始的7天内总结下一周的开始;为了得到一周的结束,在本周开始时增加6天。
printf("%zu %u\n", strlen(s)-strlen(x), c);

答案 3 :(得分:0)
以下简化了代码并提供了一些解释。 setDate 方法修改日期并返回新的时间值,因此可以用来修改日期并一次创建副本。
// Get current date
var d = new Date();
// Set to next Sunday and copy
var startOfWeek = new Date(d.setDate(d.getDate() + 7 - d.getDay()));
// Set to the following Saturday
d.setDate(d.getDate() + 6);
console.log('Start of week: ' + startOfWeek.toString());
console.log('End of week : ' + d.toString());
// The following shows the dates formatted and in the host default language
// Support for toLocaleString options may be lacking though
var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
console.log('Start of week: ' + startOfWeek.toLocaleString(undefined, options));
console.log('End of week : ' + d.toLocaleString(undefined, options));