如何获得下周日期在JavaScript

问题描述:

有谁知道我怎样才能在此基础上本周日,下周日期?举例来说,如果我有这个周四日期(25/6/2009)我如何使用JavaScript来获取下周四日(2009/2/7)?如何获得下周日期在JavaScript

var firstDay = new Date("2009/06/25"); 
var nextWeek = new Date(firstDay.getTime() + 7 * 24 * 60 * 60 * 1000); 

你也可以看看DateJS如果你喜欢 “流利” 的API。

Date.prototype.addDays = function (d) { 
    if (d) { 
     var t = this.getTime(); 
     t = t + (d * 86400000); 
     this.setTime(t); 
    } 
}; 

this_week.addDays(7); 
+0

我喜欢它...! +1 – Cerebrus 2009-06-22 06:29:46

+1

虽然我会让日期原型独立。 – glmxndr 2009-06-22 06:30:46

+1

为什么单独放置日期原型? – razzed 2009-06-22 06:35:18

function nextweek(){ 
    var today = new Date(); 
    var nextweek = new Date(today.getFullYear(), today.getMonth(), today.getDate()+7); 
    return nextweek; 
} 

函数dateObject.getNextWeekDay返回对象自己的日期后的下一个工作日。

Date.prototype.getNextWeekDay = function(d) { 
 
    if (d) { 
 
    var next = this; 
 
    next.setDate(this.getDate() - this.getDay() + 7 + d); 
 
    return next; 
 
    } 
 
} 
 

 
var now = new Date(); 
 
var nextMonday = now.getNextWeekDay(1); // 0 = Sunday, 1 = Monday, ... 
 
var secondNextMonday = new Date(nextMonday).getNextWeekDay(1); 
 
console.log('Next Monday : ' + nextMonday); 
 
console.log('Second Next Monday : ' + secondNextMonday);

函数返回下一weekdaay:

function getNextWeekDay (startDate, dayOfWeek){ 
    var dayOffset = dayOfWeek > startDate.getDay() 
     ? dayOfWeek - startDate.getDay() 
     : dayOfWeek - startDate.getDay() + 7; 

    startDate.setDate(startDate.getDate() + dayOffset); 

    return startDate; 
} 

var now = new Date(); 

var nextMonday = getNextWeekDay(new Date(),1); // 0 = Sunday, 1 = Monday, ... 
var nextSaturday = getNextWeekDay(new Date(),6); 
var nextSunday = getNextWeekDay(new Date(),0); 
var secondNextMonday = getNextWeekDay(new Date(now.getTime() + (7 *24 * 60 * 60 * 1000)),1); 
alert(nextMonday+ '- '+nextSaturday+ '- '+nextSunday+ '- '+secondNextMonday);