2

次のコードを使用して現在の時刻を出力しています。

use Getopt::Long;
use Time::Local;
sub gettime
{
        my $t = time();
        my ($sec,$mn,$hr,$mday,$mon,$yr,@left, $dstr);

        ($sec,$mn,$hr,$mday,$mon,$yr,@left) = localtime($t);
        $yr  = $yr-100+2000;
        $mon += 1;
        $dstr = sprintf "%02d:%02d:%02d (%02d-%02d-%04d)", $hr, $mn, $sec, $mon,
 $mday, $yr;
        print $dstr;
}

gettime();

- local $ENV{TZ} = ":/usr/share/lib/zoneinfo/America/Los_Angeles"; を使用してタイムゾーンを設定できます。

localtime() からタイムゾーンを抽出するにはどうすればよいですか?

4

3 に答える 3

5

使用できますstrftime()

use POSIX;
$tz = strftime("%Z", localtime());

または、 と の差を計算しlocaltime()ますgmtime()

于 2011-12-12T22:54:22.987 に答える
1

タイムゾーンと UTC からのオフセットを取得できます。

perl -MPOSIX -e 'print strftime "%Z (%z)\n",localtime'
于 2011-12-13T00:00:53.173 に答える