- localtime EXPR
- localtime
-
Converts a time as returned by the time function to a 9-element list with the time analyzed for the local time zone. If EXPR is omitted,
localtime
uses the current time (as returned by time).time 関数が返す時刻を、ローカルなタイムゾーンで測った時刻として、 9 要素の配列に変換します。 EXPR が省略されると、
localtime
は (time によって返される) 現在時刻を使います。Typically used as follows:
普通は、以下のようにして使います:
# 0 1 2 3 4 5 6 7 8 my ($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.すべてのリスト要素は数値で、C の
struct tm
構造体から 直接持ってきます。$sec
,$min
,$hour
は指定された時刻の秒、分、時です。$mday
is the day of the month in the range1..31
(i.e. 1-based).$mon
is the month in the range0..11
(i.e. 0-based), with 0 indicating January and 11 indicating December. This makes it easy to get a month name from a list:$mday
は1..31
の範囲(つまり 1 起点) の、月の何日目かです。$mon
は月の値です; 月の値は0..11
(つまり 0 起点)で、0 が 1 月、11 が 12 月です。 これにより、リストから月の名前を得るのが簡単になります:my @abbr = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec); print "$abbr[$mon] $mday"; # $mon=9, $mday=18 gives "Oct 18"
$year
contains the number of years since 1900 (e.g.129
for 2029).$year
は 1900 年からの年数を持ちます(例えば、129
は 2029 年です)。$wday
is the day of the week, with 0 indicating Sunday and 3 indicating Wednesday.$yday
is the day of the year, in the range0..364
(or0..365
in leap years.)$wday
は曜日で、0 が日曜日、3 が水曜日です。$yday
はその年の何日目かで、0..364
の値を取ります (うるう年は0..365
です。)$isdst
is true if the specified time occurs when Daylight Saving Time is in effect, false otherwise.$isdst
は指定された時刻で夏時間が有効の場合は真、そうでなければ偽です。To get a human-readable date/time string, use "
strftime
" in POSIX:To get a human-readable date/time string, use "
strftime
" in POSIX: (TBT)use POSIX qw(strftime); my @now = localtime; my $now_string = strftime "%Y-%m-%d %H:%M:%S", @now; # e.g. "2025-11-29 15:19:02"
To get just the year, you can use either "
strftime
" in POSIX:To get just the year, you can use either "
strftime
" in POSIX: (TBT)use POSIX qw(strftime); # full year: my $year = strftime "%Y", localtime; # just the last two digits of the year: my $ar = strftime "%y", localtime;
... or manual arithmetic:
... or manual arithmetic: (TBT)
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime; # full year: $year += 1900; # just the last two digits of the year: my $ar = sprintf("%02d", $year % 100);
In scalar context,
localtime
returns the ctime(3) value:スカラコンテキストでは、
localtime
は ctime(3) の値を 返します:my $now_string = localtime; # e.g., "Thu Oct 13 04:54:34 1994"
This scalar value is always in English, and is not locale-dependent. To get similar but locale-dependent date strings, try for example:
このスカラ値は常に英語で、ロケール依存では ありません。 似たような、しかしロケール依存の日付文字列がほしい場合は、 以下の例を試してください:
use POSIX qw(strftime); my $now_string = strftime "%a %b %e %H:%M:%S %Y", localtime; # or for GMT formatted appropriately for your locale: my $now_string = strftime "%a %b %e %H:%M:%S %Y", gmtime;
$now_string
will be formatted according to the current LC_TIME locale the program or thread is running in. See perllocale for how to set up and change that locale. Note that%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.$now_string
はプログラムやスレッドが実行されている現在の LC_TIME ロケールに 従ってフォーマットされます。 このロケールの設定と変更の方法については perllocale を参照してください。 曜日と月の短い表現である%a
と%b
は、3 文字とは限らないことに 注意してください。The Time::gmtime and Time::localtime modules provide a convenient, by-name access mechanism to the gmtime and
localtime
functions, respectively.Time::gmtime モジュールと Time::localtime モジュールは、それぞれ gmtime 関数と
localtime
関数に、 名前でアクセスする機構を提供する便利なモジュールです。For a comprehensive date and time representation look at the DateTime module on CPAN.
包括的な日付と時刻の表現については、CPAN の DateTime モジュールを 参照してください。
For GMT instead of local time use the gmtime builtin.
ローカル時刻ではなく GMT がほしい場合は gmtime 組み込み 関数を使ってください。
See also the
Time::Local
module (for converting seconds, minutes, hours, and such back to the integer value returned by time), and the POSIX module'smktime
function.また、(秒、分、時などの形から、time が返す値である 1970 年 1 月 1 日の真夜中からの秒数に変換する)
Time::Local
モジュール及び POSIX モジュールで提供されるmktime
関数も参照してください。Portability issues: "localtime" in perlport.
移植性の問題: "localtime" in perlport。