gmtime - convert UNIX time into record or string using Greenwich time |
gmtime - convert UNIX time into record or string using Greenwich time
gmtime EXPR
gmtime
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:
# 0 1 2 3 4 5 6 7 8 ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(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 always 0
.
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 (gmtime(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 in the perlfunc manpage builtin.
See also the timegm
function provided by the Time::Local
module,
and the strftime(3)
and mktime(3)
functions available via the the POSIX manpage module.
This scalar value is not locale dependent (see the perllocale manpage), but is instead a Perl builtin. To get somewhat similar but locale dependent date strings, see the example in localtime in the perlfunc manpage.
See gmtime in the perlport manpage for portability concerns.
gmtime - convert UNIX time into record or string using Greenwich time |