localtime function
Convert UNIX time into record or string using local time
Converts a time as returned by the time function to a 9-element array 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 array elements are numeric, and come straight out of a struct tm. In particular this means that $mon
has the range 0..11 and $wday has the range 0..6 with sunday as day 0.
Also, $year is the number of years since 1900, that is, $year is 123 in
year 2023, and not simply the last two digits of the year.
If EXPR is omitted, uses the current time (localtime(time)).
In scalar context, returns the ctime(3) value:
$now_string = localtime; # e.g., "Thu Oct 13 04:54:34 1994"
This scalar value is not locale dependent, see the perllocale
manpage, but instead a Perl builtin. Also see the Time::Local module, and the strftime(3)
and mktime(3) function available via the POSIX module. To get somewhat similar
but locale dependent date strings, set up your locale environment variables appropriately (please see the
perllocale manpage) and try for example:
use POSIX qw(strftime);
$now_string = strftime "%a %b %e %H:%M:%S %Y", localtime;
Note that the %a and %b, the short forms of the day of the week and the month of the
year, may not necessarily be three characters wide.
|