Hola a todos.
Estoy haciendo un cronometro que funciona a intervalos y con loop. Es decir, el usuario introduce un numero entre 1 y 59 (minutos) y el cronometro empieza desde ese numero a retroceder segundo a segundo. una vez llega a 0 vuelve a empezar. Basicamente sirve para emitir un sonido de alarma cada cierto tiempo.
Eso lo tengo controlado, todo funciona a la perfección, el problema viene cuando tengo que sincronizarlo con la hora. Es decir, debido a los requisitos, ese cronometro tiene que estar sincronizado con las 00:00:00(horas:minutos:segundos) del reloj de windows. Si por ejemplo el usuario pone que el intervalo sea de 3 minutos las 24 horas del dia se dividirian en intervalos de 3 minutos y el comienzo del cronometro tambien deberia de sincronizarse. No se si me explico bien pero voy a poner un ejemplo facil a ver si asi lo aclaro.
Imaginad que el intervalo es de 3 minutos y la hora actual es 00:00:05. Sabiendo eso, el cronometro en lugar de empezar a retroceder desde los 3 minutos deberia empezar a 00:02:55 y retroceder desde ahí.
Otro ejemplo:
El intervalo es de 10 minutos esta vez y la hora es 00:02:55. En este caso el cronometro empezaria a descontar desde 00:07:05.
Otro ejemplo:
Intervalo de 3 minutos y las hora es 00:06:05. En ese caso el cronometro deberia de empezar a 00:02:55 ya que se habrian completado dos bucles y 5 segundos.
Eso es basicamento lo que no se como hacer: Sincronizar el cronometro para que empiece de forma sincronizada teniendo en cuenta el intervalo.
Es en C# aunque no creo que la solucion sea distinta en cualquier otro lenguaje.