[ale] Calculate Midnight in Perl

Christopher Fowler cfowler at outpostsentinel.com
Thu Jul 6 12:25:27 EDT 2006


I need to calculate midnight in perl so that I can do a select on a
table and just get the current day's entries.  Here is how I did it.

--- [ Cut Here ] --------------
#!/usr/bin/perl

use POSIX;
use strict;

sub midnight {
        my $t = shift;
        $t = ($t ? $t : time());
        my (undef,undef,undef,$mday,$mon,$year,$wday,$yday,$isdst) =
            localtime($t);
        my $ti = POSIX::mktime(0, 0, 0, $mday, $mon, $year, 0, 0 ,0);
        return $ti;

}

my $ti = midnight(time());
print POSIX::ctime($ti);
--- [ Cut Here ] --------------

Output:
--- [ Cut Here ] --------------
[cfowler at shuttle ~]$ ./midnight.pl 
Thu Jul  6 01:00:00 2006
--- [ Cut Here ] --------------

Is it saying that 1am is the time since I'm on EDT now?
I was expecting 00:00:00





More information about the Ale mailing list