Reputation: 662
I have a requirement like calculating the days between two dates and calculating the future date by adding the weeks/months to the date. I used java.util.Calendar; and java.util.Date. these are not giving accurate results, it fails in daylight saving issue. so i decided to use JODA calendar API. I am very new to JODA API. Please anyone provide me sample code to calculate the below requirements.
1).noOfDays(String currDate, String tarDate) 2).addMonths(String date, int months) 3).addDays(String date, int days) 4).futureDate(String date,int week)
Thanks Ganesh
Upvotes: 1
Views: 695
Reputation: 29673
0) To convert String to Date use
DateTimeFormatter
For example, if you date looks like "31/12/2012"
DateTimeFormatter dtf = DateTimeFormat.forPattern("dd/MM/yyyy");
DateTime date = dtf.parseDateTime("31/12/2012");
this class ISODateTimeFormat contains formatters for basic date formats.
1) To calculate days between two dates, use method Days#daysBetween
for examle
DateTime date1 = dtf.parseDateTime("31/12/2012");
DateTime date2 = dtf.parseDateTime("15/11/2012");
int daysbetween = Days.daysBetween(date1, date2);
2) To add months to date use DateTime#plusMonths()
DateTime newDate = dtf.parseDateTime("31/12/2012").plusMonths(5);
3) To add days to date use method DateTime#plusDays()
4) To add weeks to date use method DateTime#plusWeeks()
Also you can use LocalDate class instead of DateTime if you are using date without time
Upvotes: 1