Practical Perl wrote:
> Hello,lists,

Hello,

> Please see these two lines' output:
> 
> [$ perl -Mstrict -MTime::Local -le 'print timelocal(0,0,0,31,8,2006)'
> Day '31' out of range 1..30 at -e line 1
> 
> $ perl -Mstrict -MTime::Local -le 'print timelocal(0,0,0,31,7,2006)'
> 1156953600
> 
> 
> I translate the time of '2006-7-31 00:00:00' to unix timestamp,it's
> successful.
> But when I translate the time of '2006-8-31 00:00:00' to unix timestamp,it
> said '31 out of range'.
> I'm so faint that August doesn't have 31th day?Please tell me why this
> happen and how to resolve it.

   localtime EXPR
           Converts a time as returned by the time function to a 9-element
           list with the time analyzed for the local time zone.  Typically
           used as follows:

               #  0    1    2     3     4    5     6     7     8
               ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
                                                              localtime(time);

           All list elements are numeric, and come straight out of the C
           ‘struct tm’.  $sec, $min, and $hour are the seconds, minutes, and
           hours of the specified time.  $mday is the day of the month, and
           $mon is the month itself, in the range 0..11 with 0 indicating
           January and 11 indicating December.  $year is the number of years
           since 1900.  That is, $year is 123 in year 2023.  $wday is the day
           of the week, with 0 indicating Sunday and 3 indicating Wednesday.
           $yday is the day of the year, in the range 0..364 (or 0..365 in
           leap years.)  $isdst is true if the specified time occurs during
           daylight savings time, false otherwise.


So if you want to translate 31 August 2006 you have to subtract one from the
month and 1900 from the year:

$ perl -Mstrict -MTime::Local -le 'print timelocal(0,0,0,31,7,106)'
1157007600



John
-- 
use Perl;
program
fulfillment

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to