
For Windows 10, I personally have issues with its automatic set time and date feature which often has accuracy issues of up to 1-2 min away from the universal clock time for stocks, websites, apps, etc. I highly recommend using a website like to set your computer clock to the correct time. You can also back up your alarms using the software. The third option is useful if you're not using a date countdown timer but a manual start countdown timer (where you start a non-date-based timer perhaps 1 minute before 12:59:50) since it is probably the fastest and more accurate way than fumbling around with your mouse with small dialog boxes. Option 3 is to select the alarm and then press "Ctrl + E". Option 2 is to right click on the alarm and select "Enabled". Option one is to click the small checkbox to the left of the alarm. To start or stop the alarm, you have three options. It is enabled the first you set it or when you adjust the settings. Note that the software uses your computer's time, so if your computer's time is incorrect, you may experience an early or late alarm. You can also click the dropdown to adjust the time. You can adjust any of the other settings if needed.Īdjust the time and date settings as needed by typing into the "Date, Time:" box. Besides having seconds precision, it has the ability to do both manual start countdown timers as well as based on a date and other features such as repeating the alarm, custom sounds, etc.Ĭlick on "Count till (from) date and time". It is a free software for Windows called " Free Countdown Timer ( ) by Comfort Software Group.

I finally found a software that can do exactly as stated in the question. Write-Host "$timeLeft seconds left till alarm rings" $timespan = New-TimeSpan -Start $datetimeNow -End $datetimeRingįor ($i -eq 0 $i -le $timespan.TotalSeconds-1 $i++) # -1 to handle 0 seconds left on timespan $datetimeRing = "$(Get-Date -Format dd/MM/yyyy)" + " " + $time.ToString() $datetimeNow= Get-Date -Format "dd/MM/yyyy HH:mm:ss" $stopAlarm = ::Show('Stop sound?','Alarm!','YesNo','Warning') } -ArgumentList $timesAlarmToPlay | Out-Null $timesAlarmToPlay = 30 #times to repeat beep The usage can be found on the gif below.Īdd-Type -AssemblyName PresentationFramework #messagebox requirement To have the script somewhat presented in a good state I put it as an answer while it's clearly not an answer but a mere workaround to your requirements.Ĭopy and paste it to a text file and save it with a.
