株式会社エスロジカル
株式会社エスロジカル
セキュリティプロダクツ提供
Web開発、システム開発、UNIXシステム構築
個人情報保護方針

技術ドキュメント

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

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



[オススメ] 国内最安のSSL証明書(RapidSSL 2880円、ジオトラスト 10500円、ベリサイン 39900円)
[オススメ] SSL証明書のアフィリエイトプログラム(最大11700円/1件の報酬を獲得いただけます)

◆ 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. ご感想をご自由にお書きください。



自社運営サイト: SSL証明書 / 改ざん検出 / 秘密分散法 / 暗号化ソフト / OpenIDサイト一覧 / IPアドレス表示 / リンク切れチェック / RapidSSL / ジオトラスト / ベリサイン / SSL

Copyright (C) 2006-2008 Slogical Corporation. All Rights Reserved.
ご意見などは、こちらのお問い合わせ用ページ からお願いいたします。

本サイト上の文書で記載または紹介している会社名、商品名は一般に各社の商標または登録商標です。
本サイト上の文書中では、TM マークおよび R マークを明記していない場合があります。