Description: |
This is a simple Tk script to countdown the days, hours, minutes, seconds, and milliseconds until a particular event. It requires Tk, DateTime, and Time::HiRes.
The script creates a window in the upper-right corner of the screen and displays the countdown information there.
Have fun.
Update: Upper-left |
use warnings;
use strict;
use Tk;
use DateTime;
use Time::HiRes qw(time);
my $time;
# Specify the day you're counting down to here
my $then = DateTime->new(year => 2003, month => 12, day => 30, hour =>
+ 17,
minute => 30, second => 0, time_zone => 'loca
+l');
my $mw = MainWindow->new;
$mw->Label(-textvariable => \$time, -font => "{arial} 12 bold")->pack;
$mw->repeat(4, \&update);
update();
$mw->overrideredirect(1);
$mw->geometry("+0+0");
MainLoop;
sub update {
my $now = DateTime->from_epoch(epoch => time, time_zone => 'local'
+);
my $dur = ($then - $now);
$time = $dur->days . " days ";
$time .= $dur->hours . ":";
$time .= sprintf("%.2d", $dur->minutes) . ":";
$time .= sprintf("%.2d", $dur->seconds) . ":";
$time .= sprintf("%.3d", int($dur->nanoseconds / 1000000));
}
|