[ale] Calculate Midnight in Perl
Christopher Fowler
cfowler at outpostsentinel.com
Thu Jul 6 12:48:23 EDT 2006
On Thu, 2006-07-06 at 12:37 -0400, James Sumners wrote:
> 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.)
Is that midnight? Or does CURDATE() imply today only? I want to run
the report at 11:59pm and only get rows for that day.
>
>
> 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
> >
>
>
More information about the Ale
mailing list