[英]how to get selected week days dates between Start date and end date with 14 day recurrence pattern using Pure JavaScript
[英]Get next week's start and end date using pure javascript
我正在使用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)));
如何找到下周的开始和结束日期?
您可以使用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));
不是您的工作成果的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;
}
刚刚编辑了答案,这应该可以让您在下一个星期一约会
距本周初只有7天,下周即可开始; 要获得一周的结束,请在周开始前增加6天。
var date = new Date; var nextWeekStart = date.getDate() - date.getDay() + 7; var nextWeekFrom = new Date(date.setDate(nextWeekStart)); var nextWeekEnd = date.getDate() - date.getDay() + 6; var nextWeekTo = new Date(date.setDate(nextWeekEnd)); console.log('nextWeekFrom: ' + nextWeekFrom.toString()) console.log('nextWeekTo : ' + nextWeekTo.toString())
以下内容简化了代码并提供了一些解释。 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));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.