How to subtract/add days from/to a date?
Just subtract a number:
> as.Date("2009-10-01")
[1] "2009-10-01"
> as.Date("2009-10-01")-5
[1] "2009-09-26"
Since the Date
class only has days, you can just do basic arithmetic on it.
If you want to use POSIXlt for some reason, then you can use it's slots:
> a <- as.POSIXlt("2009-10-04")
> names(unclass(as.POSIXlt("2009-10-04")))
[1] "sec" "min" "hour" "mday" "mon" "year" "wday" "yday" "isdst"
> a$mday <- a$mday - 6
> a
[1] "2009-09-28 EDT"
How to subtract days from a plain Date?
Try something like this:
var d = new Date();
d.setDate(d.getDate()-5);
Note that this modifies the date object and returns the time value of the updated date.
var d = new Date();
document.write('Today is: ' + d.toLocaleString());
d.setDate(d.getDate() - 5);
document.write('<br>5 days ago was: ' + d.toLocaleString());
Algorithm to add or subtract days from a date?
The easiest way is to actually write two functions, one which converts the day to a number of days from a given start date, then another which converts back to a date. Once the date is expressed as a number of days, it's trivial to add or subtract to it.
You can find the algorithms here: http://alcor.concordia.ca/~gpkatch/gdate-algorithm.html
How to subtract X day from a Date object in Java?
Java 8 and later
With Java 8's date time API change, Use LocalDate
LocalDate date = LocalDate.now().minusDays(300);
Similarly you can have
LocalDate date = someLocalDateInstance.minusDays(300);
Refer to https://stackoverflow.com/a/23885950/260990 for translation between java.util.Date <--> java.time.LocalDateTime
Date in = new Date();
LocalDateTime ldt = LocalDateTime.ofInstant(in.toInstant(), ZoneId.systemDefault());
Date out = Date.from(ldt.atZone(ZoneId.systemDefault()).toInstant());
Java 7 and earlier
Use Calendar
's add()
method
Calendar cal = Calendar.getInstance();
cal.setTime(dateInstance);
cal.add(Calendar.DATE, -30);
Date dateBefore30Days = cal.getTime();
Subtract days from a DateTime
That error usually occurs when you try to subtract an interval from DateTime.MinValue
or you want to add something to DateTime.MaxValue
(or you try to instantiate a date outside this min-max interval). Are you sure you're not assigning MinValue
somewhere?
Python - Add OR Subtract N *Business* Days from Date Input
Seems like a small tweak to your routine would do the trick:
from datetime import datetime, timedelta
def bizday_calc_func(self, start_date, num_days):
my_start_date = start_date
my_num_days = abs(num_days)
inc = 1 if num_days > 0 else -1
while my_num_days > 0:
my_start_date += timedelta(days=inc)
weekday = my_start_date.weekday()
if weekday >= 5:
continue
my_num_days -= 1
return my_start_date
disclaimer: untested.
Finding date by subtracting X number of days from a particular date in Javascript
Simply:
yourDate.setDate(yourDate.getDate() - daysToSubtract);
How to subtract X days from a date using Java calendar?
Taken from the docs here:
Adds or subtracts the specified amount of time to the given calendar field, based on the calendar's rules. For example, to subtract 5 days from the current time of the calendar, you can achieve it by calling:
Calendar calendar = Calendar.getInstance(); // this would default to now
calendar.add(Calendar.DAY_OF_MONTH, -5).
Related Topics
How to Extract a Single Column from a Data.Frame as a Data.Frame
Subsetting R Data Frame Results in Mysterious Na Rows
Putting Mathematical Symbols and Subscripts Mixed With Regular Letters
How to Read a CSV File in R With Different Number of Columns
What's Wrong With My Function to Load Multiple .Csv Files into Single Dataframe in R Using Rbind
Change Bar Plot Colour in Geom_Bar With Ggplot2 in R
How to Subtract/Add Days From/To a Date
Why Do I Get "Warning Longer Object Length Is Not a Multiple of Shorter Object Length"
Format Numbers With Million (M) and Billion (B) Suffixes
Index Values from a Matrix Using Row, Col Indices
Count Nas Per Row in Dataframe
Rcpp Pass by Reference Vs. by Value
As.Date With Dates in Format M/D/Y in R