Estoy usando el calendario de Java para configurar una alarma en una fecha y hora específicas. Sé cómo hacer que esto funcione cuando el usuario selecciona un fecha y hora específicas. Por ejemplo, si el usuario desea configurar una alarma el 17 de julio de 2013 a las 10:45 AM, estoy usando el siguiente código:Cómo configurar Java.util.calendar a un período de tiempo específico en el futuro
//Get the calendar instance.
Calendar calendar = Calendar.getInstance();
//Set the time for the notification to occur.
calendar.set(Calendar.YEAR, 2013);
calendar.set(Calendar.MONTH, 6);
calendar.set(Calendar.DAY_OF_MONTH, 17);
calendar.set(Calendar.HOUR_OF_DAY, 10);
calendar.set(Calendar.MINUTE, 45);
calendar.set(Calendar.SECOND, 0);
Todo el código anterior funciona muy bien cuando quiero establecer una alarma en fecha y hora específicas. Mi pregunta es, ¿cómo puedo configurar una instancia de calendario donde el usuario usuario quiere que se active una alarma 20 minutos desde la fecha y hora actual? Entonces, si la hora actual es 6:50 PM, necesito que la alarma suene a las 7:10 PM. ¿Cómo puedo configurar esto programáticamente?
Intenté obtener la fecha y hora actual a través de los métodos incorporados de Java.util.calendar e intenté agregar 20 minutos a la variable Calendar.MINUTE
. Sin embargo, no creo que esto sirva para nada si la hora actual está a menos de 20 minutos de la medianoche (la fecha cambiará) o a 20 minutos de otra hora (la hora cambiará). ¿Cómo puedo evitar este problema? ¡Gracias por toda tu ayuda!
echar un vistazo a la Calendar.add() método – GreyBeardedGeek