Converts a time as returned by the time function to an 9-element list with the time localized for the standard Greenwich time zone. Typically used as follows:
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
with 0 indicating January and 11
indicating December. $year is the number of years since 1900. That
is, $year is
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
in leap years). $isdst
Note that the $year element is 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:
- $year += 1900;
And to get the last two digits of the year (e.g., '01' in 2001) do:
- $year = sprintf("%02d", $year % 100);
If EXPR is omitted,
gmtime() uses the current time (
In scalar context,
gmtime() returns the ctime(3) value:
- $now_string = gmtime; # e.g., "Thu Oct 13 04:54:34 1994"
If you need local time instead of GMT use the "localtime" builtin.
See also the
function provided by the
and the strftime(3) and mktime(3) functions available via the POSIX module.
This scalar value is not locale dependent (see perllocale), but is instead a Perl builtin. To get somewhat similar but locale dependent date strings, see the example in "localtime".
See "gmtime" in perlport for portability concerns.