Perl入門 ≫ LESSON20 日付
日付・時刻関数
Perlでは、日付・時刻を操作する関数が用意されています。
●time
time
システムの基準時刻を基点とする現在時刻を秒で返します。(うるう秒を含まない。)
my $k = time;
print "$k";
結果
1539234038
●gtime
gtime [time関数の値]
time関数が返す時刻をグリニッジ標準時で表現した要素の配列で返します。
リストの各要素に名前でアクセスするためには、Time::gmtimeモジュールを使用します。
添字 | 名前 | 解説 |
---|---|---|
0 | sec | 秒 |
1 | min | 分 |
2 | hour | 時 |
3 | mday | 日 |
4 | mon | 月(0が1月となる) |
5 | year | 年(0が1900年となる) |
6 | wday | 曜日(0が日曜日となる) |
7 | yday | 年間通算日数(0が1月1日となる) |
8 | isdat | 夏時間であれば真 |
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とは違って、実行したコンピュータの時間を返してくれます。