※このサンプルの解説は、「CGI(Perl)の解説」をすべて読み終えてる方を前提としています。
  後になるほど省略されている場合がありますのでできるだけ順番に読んでください。
  また、実行に際しては、サーバーでPHPが利用できる事を前提に解説しています。

■ 曜日を日本語で表示したい

時間関数で曜日を取得しようとした場合、通常は英語表記になります。
これを日本語表記にしたい場合の方法を解説します。

時間関数については、このサイトの「PHPの予備知識」−「日付・時刻関数について」を参照してください。

【 解    説 】

時間関数の標準機能では日本語表記ができませんので、どうしても「変換テーブル」が必要になります。
「変換テーブル」とは対比表のようなもので、あるデータの集まりと1対1対応で作られた別のデータの集まりを言います。

この変換テーブルを使用するにあたっては、英語表記で取得するより、数字で取得した方が後々便利です。
時間関数から曜日を数字で取得するには次のように記述します。
date("w", date("U"))

これにより、曜日の「日〜土」までが「0〜6」までの数字で取得できます。

これに対応した文字列は「"日月火水木金土"」と記述できますから、先ほどの数字を使ってこの文字列のうちの1つを取得するには次のように記述できます。
substr("日月火水木金土", date("w", date("U"))*2, 2)

本当は、それぞれを分けて、2行で記述した方がわかりやすいのかもしれませんが、これはもう単樹なパターンですので、1行で覚えておいた方が後々楽でしょう。

それでは上記の説明をもとにサンプルを作ってみましょう。
表示文字列の最後にある「<br>\n」はそれぞれのHTMLの改行とテキストファイルの改行です。
また、「\"」「"(ダブルクォーテーション)」の中で「"(ダブルクォーテーション)」が使用できないため、エラーが発生しないようにクォート(注釈化)しています。

【記述サンプル】
<?php print <<< END_DOC <HTML> <HEAD> <title>日付・時刻関数の表示サンプル</title> </HEAD> <BODY> END_DOC; print "time() = ".time()."<br>\n"; $yobi = substr("日月火水木金土", date("w", date("U"))*2, 2); print "date(\"U\") = ".date("U")."<br>\n"; print "<br>\n"; print "date(\"w\", date(\"U\")) = ".date("w", date("U"))."<br>\n"; print "substr(\"日月火水木金土\", date(\"w\", date(\"U\"))*2, 2) = $yobi<br>\n"; print <<< END_DOC </BODY> </HTML> END_DOC; ?>
◆実行結果について

上記のサンプルを「time2.php」という名前で保存して実行してみてください。

実行結果はこちらをクリックしてください。
なお、実行結果については、各々のサーバーの環境、ユーザーの環境にによって内容は変わってきます。


page update:2010/01/23 20:32

Copyright (c) 2000-2009, all Rights Reserved & Produced by atom