gmtime EXPR
This function converts a time as returned by the time function to a 9-element list with the time correct for the Greenwich time zone (aka GMT, or UTC, or even Zulu in certain cultures, not including the Zulu culture, oddly enough). Typically used as follows:
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time);
All list elements are numeric, and come straight out of a
struct tm
(that's a C programming structure - don't sweat it). In
particular this means that $mon
has the range 0..11
,
$wday
has the range 0..6
,
and the year has had 1,900 subtracted from
it. (You can remember which ones are
0-based because those are the ones you're always using as subscripts
into 0-based arrays containing month and day names.) If EXPR
is
omitted, it does gmtime(time)
. For example, to print the
current month in London:
$london_month = (qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec))[(gmtime)[4]];
The Perl library module Time::Local contains a subroutine, timegm()
,
that can convert in the opposite direction.
In scalar context, gmtime returns a ctime(3)-like string based on the GMT time value.