|
|
03/16(Sun) 01:05
■ 日付や時間の表示の仕方(CGI方式)
CGIプログラムの中で日付や時間の表示をするには、CGIプログラムの中に下のようなプログラムを組み込みます。(赤字部分がCGIプログラムに組み込む命令になります)
■ 日付や時間の取得
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time + 9*3600);
$year = $year + 1900;
■ 月・曜日の修正 上記のgmtimeで取得した$monには0から11までの数字が入るので修正処理をします。
- 数字で表示する
- 1から12へ修正
$month = ($mon + 1);
- 時刻を2桁に統一する処理
if ($month < 10) { $month = "0$month"; }
if ($mday < 10) { $mday = "0$mday"; }
if ($sec < 10) { $sec = "0$sec"; }
if ($min < 10) { $min = "0$min"; }
if ($hour < 10) { $hour = "0$hour"; }
- またはそれぞれに値を入力する(この場合は月の2桁統一処理は不要)
$m0="Jan"; $m1="Feb"; $m2="Mar"; $m3="Apr"; $m4="May"; $m5="Jun"; $m6="Jul"; $m7="Aug"; $m8="Sep"; $m9="Oct"; $m10="Nov"; $m11="Dec";
$month = ($m0,$m1,$m2,$m3,$m4,$m5,$m6,$m7,$m8,$m9,$m10,$m11) [$mon];
■ 曜日変換処理
$wdayには0から6までの数字が入り曜日に対応しています。
- 日本語表示
$y0="日"; $y1="月"; $y2="火"; $y3="水"; $y4="木"; $y5="金"; $y6="土";
- 英語表示(1)
$y0="Sunday"; $y1="Monday"; $y2="Tuesday"; $y3="Wednesday"; $y4="Thursday"; $y5="Friday"; $y6="Saturday";
- 英語表示(2)
$y0="Sun"; $y1="Mon"; $y2="Tue"; $y3="Wed"; $y4="Thu"; $y5="Fri"; $y6="Sat";
$youbi = ($y0,$y1,$y2,$y3,$y4,$y5,$y6) [$wday];
■ 時刻フォーマット
- 日本語表示(1)
$date_now = "$month月$mday日($youbi)$hour時$min分$sec秒";
- 日本語表示(2)
$date_now = "$year年$month月$mday日 $hour時$min分$sec秒";
- 英語表示(1)
$date_now = "$year/$month/$mday $hour:$min:$sec";
- 英語表示(2)
$date_now = "$month/$mday($youbi) $hour:$min";
■ ブラウザへの表示
- print $date_now;
■ CGIプログラムサンプル
表示結果は、今日は97年07月26日(土)9時23分05秒です。になります。この例のようにフォーマットの中に文章を挿入することもできます。
#!/usr/bin/perl
print "Content-type: text/html\n\n";
;#####################################################
;#
;# 日付、時間表示 by kikuchisan
;#
;#####################################################
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time + 9*3600);
$year = $year + 1900;
# 月の修正処理
$month = ($mon + 1);
# 時刻を2桁に統一する処理
if ($month < 10) { $month = "0$month"; }
if ($mday < 10) { $mday = "0$mday"; }
if ($sec < 10) { $sec = "0$sec"; }
if ($min < 10) { $min = "0$min"; }
if ($hour < 10) { $hour = "0$hour"; }
# 曜日変換処理
$y0="日"; $y1="月"; $y2="火"; $y3="水"; $y4="木"; $y5="金"; $y6="土";
$youbi = ($y0,$y1,$y2,$y3,$y4,$y5,$y6) [$wday];
# 時刻フォーマット
$date_now = "今日は$year年$month月$mday日($youbi)$hour時$min分$sec秒です。";
# 表示
print $date_now;
|
|