株式会社エスロジカル
株式会社エスロジカル
セキュリティ、Web開発、Unix開発、Go言語

■ Perl:localtime()やgmtime()をスカラーで評価

技術ドキュメント目次 -> Perl -> localtime()やgmtime()をスカラーで評価

本技術ドキュメントは、ここしばらくメンテナンスをしておりません。
内容が古くなっている可能性などございますこと、ご理解を頂けますようお願いいたします。


サイフにやさしいSSL証明書
【低価格SSL証明書】弊社運営の低価格SSL証明書販売サイト、翌月末払いなど請求書払いも可能。


◆ localtimeとgmtimeとは

localtime 関数は、
time関数が返す時刻(1970年から現在までの秒数)をローカルの時間に変換して、
各要素(秒,分,時,日,月,年....)を配列を返す目的でよく使用される関数です。

また、gmtime関数は、それと同じような動作を、
グリニッジ標準時(イギリスの時間)に変換して行う関数になります。

localtime関数・gmtime関数の構文は次のとおりです。

localtime [EXPR]
gmtime [EXPR]

※どちらも、EXPRを省略すると現在のtime()値が使用されます。


localtime 関数の簡単な例は次のようになるかと思います。

my @lt = localtime(time() - (60*60*24));
my $wk_yea = $lt[5] + 1900;
my $wk_mon = $lt[4] + 1;
my $wk_day = $lt[3];
print "昨日は、$wk_yea年$wk_mon月$wk_day日でした。\n";


上記の実行例は次のようになります。

$ perl test.pl
昨日は、2005年7月21日でした。
$


◆ localtime()やgmtime()をスカラーで評価

上記の例では、localtime関数やgmtime関数の戻り値を配列として扱っていましたが、
戻り値をスカラーとして扱うと、C言語の ctime関数の出力のような値が戻って結構便利です。

サンプルの実行結果は次のようになるのですが、
例えば、PerlのCGIの中からCookieを出力するときに、
そのCookieの有効期限として指定する GMTの時刻文字列を作成するときなどにも
結構便利かと思います。

my $str1 = localtime(time+60*60*24*365*5);
print $str1 . "\n";

my $str2 = gmtime(time+60*60*24*365*5);
print $str2 . "\n";


上記のコードを実行すると次のような結果が出力されます。
5年後の日時文字列をJSTとGMTで表示しています。

Wed Jul 21 21:51:46 2010
Wed Jul 21 12:51:46 2010




■ Perl についての他のドキュメント


■ 他のグループのドキュメント

Apache  /  Linux  /  FreeBSD  /  OpenSSL  /  Perl  /  HTTPプロトコル  /  Jakarta Tomcat  /  Java  /  NetBSD  /  Oracle  /  PostgreSQL  /  UNIX の C言語  /  UNIX のコマンド  /  Windows  /  bind  /  システム運用TIPS

アンケートにご協力をお願いいたします。

1. このドキュメントへの評価をご選択ください。
         

2. ご感想をお書きください。