cgi017 「変数 配列と日時」(04/12/06 Mon)

 

今まで扱ってきた変数$は、1つの変数に1つの値でしたが、配列は、

いくつもの値を入れることが出来る(ちょっと違うけど)んです。

で、それを使って日時表示。

☆ 配列と日時 @とlocaltime ☆

#!/usr/local/bin/perl
$ENV{"TZ"} = "JST-9";
($ss,$nn,$hh,$dd,$mm,$yy,$week,$day,$sum) = localtime(time);
$yy += 1900;
$mm += 1;
@wek = ("Sun","Mon","Tue","Wed","Thu","Fri","Sat");

print "Content-type: text/html\n\n";
print "$yy/$mm/$dd -- $wek[$week] <br>";
print "$hh:$nn:$ss";

exit;

2行目:前回やった環境変数。細かい説明省きますが、”JST-9”ってのは

「日本標準時刻」を設定しています。まぁたいがいのサーバーが元から日本の設定になってますが。

で、localtime(time)で、呼び出して、そのときの時間情報を一気に各変数に割り当てます。

左から(秒,分,時,日,月,年,曜日,経過日数,夏時間の設定)

で、重要なのは3点。

まず、1点目:年は、現在の西暦(2004)から1900を引いた数(104)が入ってますんで、

2004と表示させるなら、4行目でやってるように、1900を足すこと。

$yy += 1900 ってのは省略形で、$yy = $yy + 1900 と同じです。

そして2点目:月は、0〜11の数値が割り当てられますので、実際の月に直すには、

5行目でやってるように、1足すこと。

$mm += 1 も同様に、$mm = $mm + 1と同じです。

最後に、3点目:曜日は、0〜6が割り当てられています。ので、0なら日曜、1なら月曜という

判断をしなければなりません。ここで配列を使用します。

配列の定義は、@です。6行目のように代入すると、

配列としては、曜日の配列ができあがり、一つ一つの要素は、

$wek[0] = "Sun" となっています。

なので、[ ]の中の数値を変えれば、それに対応した”曜日”が表示されます。

で、配列全体を表す時は@ですが、その配列の中の要素ひとつひとつを表すのは、

$で[ ]をつけます。

でまぁ実行すれば、日時が表示されます。

<br>ってのは見かけ上の改行です。タグ。

♪ 結果表示 ♪

2005/1/24 -- Mon
20:4:51

 

★ Top ★

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送