Reputation: 791
For a datepicker I need two dates: from: today - 7 days, to: today + 7 days.
I get a currentDate with:
var toDay = new Date();
var curr_date = toDay.getDate();
var curr_month = toDay.getMonth();
curr_month++;
var curr_year = toDay.getFullYear();
var toDay = (curr_month + "/" + curr_date + "/" + curr_year);
How to get 7 days+
and 7 days-
dates ? With corresponding month!
Upvotes: 4
Views: 3421
Reputation: 133403
As per comment, You can use following code
var myDate = new Date();
myDate.setDate(myDate.getDate() + 7);
var nextWeekDate = ((myDate.getMonth() + 1) + "/" + myDate.getDate() + "/" + myDate.getFullYear());
myDate = new Date();
myDate.setDate(myDate.getDate() -7 );
var prevWeekDate = ((myDate.getMonth() + 1) + "/" + myDate.getDate() + "/" + myDate.getFullYear());
Upvotes: 3
Reputation: 703
You can also extend your javascript Date
object like this
Date.prototype.addDays = function(days) {
this.setDate(this.getDate() + days);
return this;
};
Date.prototype.substractDays = function(days) {
this.setDate(this.getDate() - days);
return this;
};
//then
var dateDiff=7;
var toDay = new Date();
var futureDay= new Date(toDay.addDays(dateDiff));
var prevDay = new Date(toDay.substractDays(dateDiff*2)); // substracted 14 daysbecause 'toDay' value has been incresed by 7 days
Hope this helps.
Upvotes: 1
Reputation: 1190
You can add /subtract like following
var fdate= new Date();
var numberofdayes= 7;
fdate.setDate(fdate.getDate() + numberofdayes);
(Not sure whether you are asking that or not)
Then you can format it in dd/mm/yyyy using getDate(), getMonth() and getFullYear().
(Don't forget to add 1 to fdate.getMonth()
)
var formateddate = fdate.getDate()+ '/'+ fdate.getMonth()+1 + '/'+ fdate.getFullYear();
Upvotes: 0
Reputation: 3555
Javascript saves a date as the number of milliseconds since midnight on january 1st 1970. You can get this time by calling "getTime()" on the Date object. You can then add 7X24X60X60X1000 to get 7 days later, or substract them for 7 days earlier represented in milliseconds. Then call Date.setTime() again.
edit: both these other methods involving getDate() get unpredictable when you are around the start or end of a month.
Upvotes: 2
Reputation: 2356
Pretty simple:
nextWeek.setDate(toDay.getDate() + 7);
lastWeek.setDate(toDay.getDate() - 7);
Upvotes: 1