Сохранить текущее время в миллисекундах как
Calandar calendar = Calendar.getInstance();
Long currenttime = calendar.getTimeInMillis();
Long settime= <your set time in milliseconds>;
Здесь вы можете рассчитать разницу следующим образом:
Long differencetime = settime - currenttime;
int dif=(int)differencetime/1000;
Здесь вы можете установить время в календаре:
calendar.set(Calendar.SECOND, calendar.get(Calendar.SECOND) + dif);
Здесь вы можете установить будильник для установленного времени.
AlarmManager alarmManager1 = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager1.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pi1);