gmtime - convert UNIX time into record or string using Greenwich time

- NAME
- SYNOPSIS
- DESCRIPTION

# NAME

gmtime - convert UNIX time into record or string using Greenwich time

# SYNOPSIS

gmtime EXPR

gmtime

# DESCRIPTION

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