Perl5 リファレンス



       localtime EXPR
               Converts a time as returned by the time function
               to a 9-element list with the time analyzed for the
               local time zone.  Typically used as follows:

                   #  0    1    2     3     4    5     6     7     8
                   ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
                                                               localtime(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.)  $isdst is true if the
               specified time occurs during daylight savings
               time, false otherwise.

               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, `localtime()' uses the current
               time (`localtime(time)').

               In scalar context, `localtime()' returns the
               ctime(3) value:

                   $now_string = localtime;  # e.g., "Thu Oct 13 04:54:34 1994"

               This scalar value is not locale dependent, see the
               perllocale manpage, but instead a Perl builtin.
               Also see the `Time::Local' module (to convert the
               second, minutes, hours, ... back to seconds since
               the stroke of midnight the 1st of January 1970,
               the value returned by time()), 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", localtime;

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


Perl5リファレンスに戻る