Perl入門 ≫ LESSON20 日付

日付・時刻関数

Perlでは、日付・時刻を操作する関数が用意されています。

●time

time

システムの基準時刻を基点とする現在時刻を秒で返します。(うるう秒を含まない。)

my $k = time;
print "$k";

結果

1539234038


●gtime

gtime [time関数の値]

time関数が返す時刻をグリニッジ標準時で表現した要素の配列で返します。
リストの各要素に名前でアクセスするためには、Time::gmtimeモジュールを使用します。

リストの内容
添字名前解説
0sec
1min
2hour
3mday
4mon月(0が1月となる)
5year年(0が1900年となる)
6wday曜日(0が日曜日となる)
7yday年間通算日数(0が1月1日となる)
8isdat夏時間であれば真

my @v = gmtime(time);
for(my $i = 0; $i < 9; $i++) {
    print "$i : $v[$i]\n";
}

結果

0 : 24←秒
1 : 54←分
2 : 13←時間
3 : 11←日
4 : 9←月
5 : 118←年
6 : 4←曜日
7 : 283←年間通算日数
8 : 0← 夏時間であれば真

このスクリプトを時刻した日時は、1900+118で2018年・9+1で10月・11日・木曜日・ グリニッジ標準時で13:54:24ということになります。

●localtime

localtime [time関数の値]

gmtimeと同様だが、現在のタイムゾーンに変換された情報を返します。
リストの各要素に名前でアクセスするためには、Time::localtimeモジュールを使用します。

use Time::localtime;

#このlocaltime関数はTime::localtimeモジュールの中のもの。
my $t = localtime();
#上の表の「名前」を指定して取り出す。
my $h = $t->hour;
my $m = $t->min;
my $s = $t->sec;
print "$h : $m : $s";

結果

23 : 6 : 16

gmtimeとは違って、実行したコンピュータの時間を返してくれます。

ページのトップへ戻る