This error slowly accumulates and would over time make our stopwatch timer more and more imprecise. Even if one would just sleep 1 in a loop 10 times, the overall execution would take a bit more than 10 seconds because of the small overhead that comes from executing sleep and iterating the loop. The advantage of sleepenh is, that it is able to take into account the small delay that accumulates over time from the processing of other things than the sleep during a loop. For distributions that don't have it, it comes from The sleepenh tool comes from the package of the same name in Debian and its derivatives like Ubuntu. So for example you can say: $ time countdown 2m 4.6sĬountdown 2m 4.6s 0.00s user 0.00s system 0% cpu 2:04.60 totalĪnd as you can see, the command ran exactly for 2 minutes and 4.6 seconds without much magic in the script itself. On Debian and derivatives, this includes sub-second sleeps and a nice human-readable way to specify the time. Since the sleep command is used, this script allows to specify the duration for which to count in the same precision as your sleep allows. The script can either be used as a stop watch (counting up until interrupted) or as a timer that runs for the specified amount of time. The tool that I have in my $PATH looks like this: #!/bin/sh The latter is inadequate because it keeps the CPU busy for no good reason. After enough time passed, the counter will skip a second. The former is inadequate because due to the small time spent doing the printing, the output will not actually happen once per second but a bit less than that which is suboptimal.
Instead, the proposed solutions either use a sleep 1 between subsequent timer outputs or a busy loop that outputs as fast as possible. I'm surprised that nobody used the sleepenh tool in their scripts. In bash, add these lines to your ~/.bashrc (the sleep 0.1 will make the system wait for 1/10th of a second between each run so you don't spam your CPU): countdown() ))Ĭombine this with some way of playing sound in linux terminal ( Play MP3 or WAV file via the Linux command line) or Cygwin ( cat /path/foo.wav > /dev/dsp works for me in Babun/Windows 7) and you have a simple flexible timer with alarm! You can combine these into simple commands by using bash (or whichever shell you prefer) functions. If you need greater precision, you can use this to give you nanoseconds: while true do printf '%s\r' "$(date +%H:%M:%S:%N)" doneįinally, if you really, really want "stopwatch format", where everything starts at 0 and starts growing, you could do something like this: start=$(date +%s)įor a countdown timer (which is not what your original question asked for) you could do this (change seconds accordingly): seconds=20 That will show you the seconds passing in realtime and you can stop it with Ctrl+ C. If all you want is a stopwatch, you can do this: while true do printf '%s\r' "$(date)" done You use the service on your own risk.I'm not sure why you need beep. To use the service you must be able to add HTML directly to your web page and IFRAME tags must be allowed. If more than two clocks/timers are used, a separate link to should be provided on the page. You may place up to six clocks and countdown timers on a single page. A small preview window at the bottom right corner of your web page should also appear next to the form. Use the form below to customize your own countdown timer.
No registration is needed - the HTML code is available immediately.You can choose units to display - from days to milliseconds.It is highly configurable - choose different backgrounds, text options, colors and fonts.The countdown takes into account any time zone - all the major time zones are supported.Read more about the countdown timer and DST.
Our free countdown timer is also referred to as a countdown clock. We also have Free Clocks available for your website or blog. There are many ways for you personalize your own countdown timer, simply by filling out the gray form below on this page. Our free countdown timer is an accurate timer that you can use for your website or blog.Ĭount down to any special event, such as a birthday or anniversary.
Business Date to Date (exclude holidays).