perl には、現在時刻を取得する関数として localtime 関数がある。ただし、この関数では秒以下の精度で時刻を取得できない。そうしたい場合は、Time::HiRes モジュールの gettimeofday 関数を取得する。gettimeofday関数を使ったサンプルを以下に示す。
use strict; use warnings; use Time::HiRes "gettimeofday"; my $currentTimeStr = getCurrentTimeStr(); print $currentTimeStr; sub getCurrentTimeStr { my ($epochSec, $microSec) = gettimeofday(); my ($sec, $min, $hour, $day, $mon, $year) = localtime($epochSec); $year += 1900; $mon++; return "$year/$mon/$day $hour:$min:$sec.$microSec"; }
上記を実行すると、現在時刻として、例えば、
2018/10/20 23:35:29.844079
が出力される。上記の実行結果の通り、秒以下(マイクロ秒)の精度で現在時刻を取得できる。