UNIX 秒をグリニッジ標準時に変換する
gmtime
は、リストコンテキスト (戻り値をリストで受け取る状況) の場合、
EXPR に与えらえれた UNIX 秒からグリニッジ標準日時を割り出し、
その結果を 9 つ値を持つリストとして返します。
引数 EXPR が省略されたら、現在日時を表す UNIX 秒
(time
から得られる値) が適用されます。
返されるリストのそれぞれの値の意味は localtime
と同様です。
# ローカル時間 (日本時間)
my @ltm = localtime();
print "JST: ", sprintf( "%02d:%02d:%02d", $ltm[2], $ltm[1], $ltm[0] ), "\n";
# グリニッジ標準時
my @gtm = gmtime();
print "GMT: ", sprintf( "%02d:%02d:%02d", $gtm[2], $gtm[1], $gtm[0] ), "\n";
上記のコードは次のような結果を出力します。
JST: 16:04:39
GMT: 07:04:39
localtime
は、スカラーコンテキスト (戻り値をスカラー変数で受け取る状況) の場合、
英語表記の現在日時文字列を返します。これも localtime
と同様です。
# ローカル時間 (日本時間)
my $jst = localtime();
print "JST: ${jst}\n";
# グリニッジ標準時
my $gmt = gmtime();
print "GMT: ${gmt}\n";
上記のコードは次のような結果を出力します。
JST: Tue May 16 16:06:49 2023
GMT: Tue May 16 07:06:49 2023
もしグリニッジ標準時ではなくローカル時間を扱いたいなら、gmtime
の代わりに
localtime
を使ってください。