public static void Main()
DateTime now = DateTime.UtcNow;
DateTime soonestAlarm = now + TimeSpan.FromSeconds(61) - TimeSpan.FromSeconds(now.Second);
DateTime oldAlarmTime = DateTime.UtcNow.AddMinutes(-5);
if ((oldAlarmTime != null) && (oldAlarmTime <= soonestAlarm))
soonestAlarm = oldAlarmTime + TimeSpan.FromSeconds(1);
TimeSpan timeToAlarm = soonestAlarm - now + TimeSpan.FromSeconds(1);
Console.WriteLine(timeToAlarm.TotalMilliseconds);