[ale] Calculate Midnight in Perl
Christopher Fowler
cfowler at outpostsentinel.com
Thu Jul 6 12:36:04 EDT 2006
I'm an idiot. Once I passed the correct value as isdst as reported by
localtime then everything worked great!
On Thu, 2006-07-06 at 12:25 -0400, Christopher Fowler wrote:
> 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
>
>
> _______________________________________________
> Ale mailing list
> Ale at ale.org
> http://www.ale.org/mailman/listinfo/ale
More information about the Ale
mailing list