localtime
localtime EXPR
time関数の値をローカル時間で現す
例: localtime(time)

EXPRを省略するとlocaltime(time)が実行される。

time関数では1970年1月1日からの経過秒数を返すが、localtimeはtime関数が返す値をローカル時間での年月日時分秒などの要素に変換をする。


print time;1018405401 と返したとき

print localtime(time);2123111031023990 となる。
これは 21=秒, 23=分, 11=時, 10=日, 3=4月, 102=2002年, 3=水曜日, 99=99日, 0=非サマータイムの意味。


変数に代入することによって以下のような結果を得られる。

$imanojikan = localtime(time);
print $imanojikan;
$imanojikan は下のようになる。
Wed Apr 10 11:23:21 2002


($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
localtime は上のように9つの要素に分解することができる。
localtime(time)が 2123111031023990 のとき
$sec2121秒0〜59
$min2323分0〜59
$hour1111時0〜23
$mday1010日1〜31
$mon34月0〜11(1月は0)
$year1022002年1900を引いた年数
$wday3水曜日0〜6(日曜日は0)
$yday9999日1月1日からの経過年数
$isdst00サマータイム期間中は1


2002年04月10日 のように表示するには下のようにsprint関数を使う。

($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
$yyyymmddJ = sprintf("%04d年%02d月%02d日", $year + 1900, $mon +1, $mday);
print $yyyymmddJ;
年月日や曜日の表示は「年月日や曜日・時刻の取得」を参照。


Perlライブラリモジュールの Time::Local には、localtime の逆変換をするサブルーチン timelocal() がある。Time::Local については「経過日数の計算」の「経過日数を求める」を参照。


(参考)time
(参考)gmtime

主な localtime 使用ページ
  • 年月日や曜日・時刻の取得
  • 時間ごとにメッセージを
  • 経過日数の計算
  • 生まれてから何日?
  • カレンダー de ココ
  • 結婚記念日を表示します(その2)

  • Back

    [PR]liLOハ^:LOハ^lCハ^lョハ^