[ale] Calculate Midnight in Perl
James Sumners
james.sumners at gmail.com
Thu Jul 6 12:37:20 EDT 2006
Why not just `SELECT * FROM table WHERE date_col = CURDATE();`? (If
you are using MySQL. I assume other DBs have the same sort of
functionality.)
On 7/6/06, Christopher Fowler <cfowler at outpostsentinel.com> 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
>
--
James Sumners
http://james.roomfullofmirrors.com/
"All governments suffer a recurring problem: Power attracts
pathological personalities. It is not that power corrupts but that it
is magnetic to the corruptible. Such people have a tendency to become
drunk on violence, a condition to which they are quickly addicted."
Missionaria Protectiva, Text QIV (decto)
CH:D 59
More information about the Ale
mailing list