Possible Duplicate:
Anyone know a simple way using java calendar to subtract X days to a date?
I need to minus 365 days in a given date (givenDate)-
Calendar calendar = Calendar.getInstance();
calendar.setTime(givenDate);
calendar.add(Calendar.DATE, -365);
Am I right?
Calendar.DAY_OF_YEAR
is the proper way to subtract days
You can also subtract a year (taking in to account leap years) by using
Calendar calendar = Calendar.getInstance();
calendar.setTime(givenDate);
calendar.add(Calendar.YEAR, -1);
That is the correct way to subtract days.
Note that 365 days does not always equal one year because of leap days. calendar.add(Calendar.YEAR, -1)
would subtract one year correctly.
You also may want to use Joda Time-library instead of java.util.Date
and java.util.Calendar
. Joda Time is a much nicer API for handling times and dates.
I don't think it'll make a different, but I would use Calendar.DAY_OF_YEAR as the field.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With