3

I am writing a reminder app to set weekly reminders.When user selects a future date, I want to set that day of week for recurring weekly reminder. This is logic I am using:

I am using Joda time to get difference in weeks between 2 dates.

diffInWeeks = Weeks.weeksBetween(dateTimenow,dateTimeset).getWeeks();

And addding this difference to set the user selected day to schedule weekly alarms.

myCalendar.add(Calendar.WEEK_OF_YEAR, (int)(diffInWeeks));
  myCalendar.set(Calendar.DAY_OF_WEEK,day_of_week);
  myCalendar.set(Calendar.HOUR_OF_DAY,hour);
  myCalendar.set(Calendar.MINUTE, minute);

Whenever difference in days is 6 or 13 or 20 i.e (7*n -1) -> difference in weeks is 1 and reminder is getting set for an earlier week. For eg: If user selects date as 27 September 2015. Reminder gets set for 20 September 2015, as difference in weeks is 1. But day_of_week for Sunday(27 Sep) is 1 which is the next week.

I am not sure if this logic to add weeks and set weekly reminder for user selected day is right. Any suggestions ?

0 Answers0