Front page | perl.perl5.porters |
Postings from March 2000
PATCH [5.6.0-RC1] return value of localtime() not documented
Thread Previous
|
Thread Next
From:
Mark-Jason Dominus
Date:
March 10, 2000 21:46
Subject:
PATCH [5.6.0-RC1] return value of localtime() not documented
Message ID:
20000311054621.23701.qmail@plover.com
Amazingly, perlfunc.pod still does not explain what its return value
is, leaving you to look in the localtime(3) man page, if you have one.
It also doesn't explain that 0 is January and 11 is December, so it's
no wonder that that is a frequently asked question.
--- pod/perlfunc.pod 2000/03/11 05:32:02 1.1
+++ pod/perlfunc.pod 2000/03/11 05:41:32
@@ -2322,13 +2322,20 @@
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
localtime(time);
-All list elements are numeric, and come straight out of a struct tm.
-In particular this means that $mon has the range C<0..11> and $wday
-has the range C<0..6> with sunday as day C<0>. Also, $year is the
-number of years since 1900, that is, $year is C<123> in year 2023,
-and I<not> simply the last two digits of the year. If you assume it is,
-then you create non-Y2K-compliant programs--and you wouldn't want to do
-that, would you?
+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 C<0..11> with 0 indicating January and 11
+indicating December. $year is the number of years since 1900. That
+is, $year is C<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 C<1..365> (or C<1..366> in leap years.) $isdst
+is true if the specified time occurs during daylight savings time,
+false otherwise.
+
+Note that the $year element is I<not> simply the last two digits of
+the year. If you assume it is, then you create non-Y2K-compliant
+programs--and you wouldn't want to do that, would you?
The proper way to get a complete 4-digit year is simply:
@@ -2338,9 +2345,9 @@
$year = sprintf("%02d", $year % 100);
-If EXPR is omitted, uses the current time (C<localtime(time)>).
+If EXPR is omitted, C<localtime()> uses the current time (C<localtime(time)>).
-In scalar context, returns the ctime(3) value:
+In scalar context, C<localtime()> returns the ctime(3) value:
$now_string = localtime; # e.g., "Thu Oct 13 04:54:34 1994"
Thread Previous
|
Thread Next