Perl5 リファレンス



       gmtime EXPR
               Converts a time as returned by the time function
               to a 8-element list with the time localized for
               the standard Greenwich time zone.  Typically used
               as follows:

                   #  0    1    2     3     4    5     6     7
                   ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday) =
                                                           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 `1..365' (or
               `1..366' in leap years.)

               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"

               Also see the `timegm' function provided by the
               `Time::Local' module, and the strftime(3) function
               available via the POSIX module.

               This scalar value is not locale dependent (see the
               perllocale manpage), but is instead a Perl
               builtin.  Also see the `Time::Local' module, and
               the strftime(3) and mktime(3) functions 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", gmtime;

               Note that the `%a' and `%b' escapes, which
               represent the short forms of the day of the week
               and the month of the year, may not necessarily be
               three characters wide in all locales.


Perl5リファレンスに戻る