=over =item gmtime EXPR Converts a time as returned by the time function to an 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 C<0..11> with 0 indicating January and 11 indicating December. \$year is the number of years since 1900. That is, \$year is C<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 C<0..364> (or C<0..365> in leap years.) Note that the \$year element is I 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, C uses the current time (C). In scalar context, C 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 L builtin. See also the C function provided by the C module, and the strftime(3) and mktime(3) functions available via the L module. This scalar value is B locale dependent (see L), but is instead a Perl builtin. To get somewhat similar but locale dependent date strings, see the example in L. See L for portability concerns. =back