Nucleus(JP)フォーラム

NucleusCMS日本語版ユーザーのためのサポートフォーラムです。疑問が生じたらまずは記事検索をご利用ください。

ログインしていません。

#1 2007-04-09 10:03:23

dai
メンバー
登録日: 2007-04-09
投稿: 4

Re: 曜日の日本語表示

nucleus初心者で、初歩的な質問ですいません。
アイテム(content)の表示のところで、日付フォーマットで表記の変更の仕方はわかったのですが、曜日を日本語表記に変更方法が判らないので教えて頂ければと思い投稿しました。
検索の仕方が悪いのか表記の仕方(パラメーター?)が見つかりませんが、パラメーターでは出来ないのでしょうか?
よろしくお願いします。

オフライン

#2 2007-04-09 11:01:22

Andy
メンバー
登録日: 2004-03-18
投稿: 1,495
ウェブサイト

Re: 曜日の日本語表示

残念ながら標準ではできません。
Nucleusの仕様というよりPHPのdate関数の仕様によるものです。
http://jp2.php.net/date

オフライン

#3 2007-04-09 13:03:19

nakahara21
メンバー
From: 尼崎
登録日: 2003-11-14
投稿: 1,298
ウェブサイト

Re: 曜日の日本語表示

あれ、ロケール指定したらできませんか?
http://nakahara21.com/index.php?itemid=80
でそう書いていたんだけど。


nakahara21
http://nakahara21.com/
(ただいま調整中です)

オフライン

#4 2007-04-09 13:12:29

Andy
メンバー
登録日: 2004-03-18
投稿: 1,495
ウェブサイト

Re: 曜日の日本語表示

dateじゃなくってstrftimeだったんですね。ちゃんと調べないで書いてすみませんでした。 :oops:
というわけで,前の投稿は撤回します。

できないと思い込んでました。

オフライン

#5 2007-04-09 14:38:33

dai
メンバー
登録日: 2007-04-09
投稿: 4

Re: 曜日の日本語表示

Andyさん、nakahara21さん、さっそく教えて頂きありがとうございました。
挑戦してみたのですが、やはり英語表記しかできないですね

Localeは、最初から ja_JP.EUC-JP になっていましたので変更が必要かどうかもわからないのですが・・・

ちなみにテンプレートの設定で
日付のフォーマットは %Y年%m月%d日(%a) → 2007年04月06日(Fri)
時刻のフォーマットは %H時%M分 → 16時46分
Localeは ja_JP.EUC-JP
としています。

もう少し、いろいろ勉強してみます。
ほんとうにありがとうございました。

オフライン

#6 2007-04-09 15:11:29

藤咲
Administrator
From: 広島
登録日: 2003-11-17
投稿: 1,210
ウェブサイト

Re: 曜日の日本語表示

nakahara21 さんの発言:

あれ、ロケール指定したらできませんか?
http://nakahara21.com/index.php?itemid=80
でそう書いていたんだけど。

たぶんサーバー環境に左右されるのではないかと思います。
私もこのまみおさんの記事が書かれたころに試したんですが、和暦とか出ませんでした。たしか曜日も出なかったような。
※追記. 試したのは会社のWindwos2000Serverです。こちらはやはり、ロケール設定にかかわらず、echo strftime("%a")でMonという表示になります。

phpマニュアルのstrftimeには
http://jp2.php.net/manual/ja/function.strftime.php

使用する C ライブラリで、すべての変換指定子がサポートされているとは限りません。 そのような場合、該当する変換指定子は PHP の strftime() ではサポートされません。

と書いてあるので、サーバ環境によるのではないかと推察されます。

<?php
setlocale(LC_ALL "ja_JP.EUC-JP");
echo strftime("%a");
?>
というファイルをweek.phpとしてアップして、アクセスしたらどのように表示されるかどうかで、対応しているのかどうかがわかると思います。

藤咲
備忘録とかもろもろ
http://fjsk.tk/

オフライン

#7 2007-04-09 15:27:37

Andy
メンバー
登録日: 2004-03-18
投稿: 1,495
ウェブサイト

Re: 曜日の日本語表示

文字化け防止で

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
</head>
<body>
<?php
setlocale(LC_ALL, "ja_JP.EUC-JP");
echo strftime("%a");
?>
</body>
</html>

うちのサーバーは「月」と出ました。

オフライン

#8 2007-04-09 15:35:49

dai
メンバー
登録日: 2007-04-09
投稿: 4

Re: 曜日の日本語表示

藤咲さん、Andyさんありがとうございます。
早速、week.phpを作成して試してみました。
結果は Mon でした。
サーバーが対応してないのであれば仕方ないです。
本当にありがとうございました。

参考までに、使用しているサーバーは、ファーストサーバーのギカント2です。

オフライン

#9 2007-04-09 16:11:31

Andy
メンバー
登録日: 2004-03-18
投稿: 1,495
ウェブサイト

Re: 曜日の日本語表示

テンプレートで日本語曜日表示できるようにするだけというプラグインです。
環境にあった文字コードで保存して使ってください。

<?php

class NP_JPWKDY extends NucleusPlugin {
	function getName() { return 'JP Weekday'; }
	function getAuthor()	{ return 'Andy'; }
	function getURL() { return ''; }
	function getVersion() { return '0.5'; }
	function getDescription() {
		return 'テンプレートに<%JPWKDY%>と書くと曜日を漢字で表示します。';
	}


	function supportsFeature($what) 
	{
		switch ($what)
		{
			case 'SqlTablePrefix':
				return 1;
			default:
				return 0;
		}
	}

	
	function init() {
		$this->weekday = array ('日', '月', '火', '水', '木', '金', '土');
	}

	function doTemplateVar(&$item) {
		echo $this->weekday[strftime('%w', $item->timestamp)];
	}

}

?>

オフライン

#10 2007-04-09 16:34:31

dai
メンバー
登録日: 2007-04-09
投稿: 4

Re: 曜日の日本語表示

Andyさん、ありがとうございます。

無事、曜日を日本語表記できました。
plag-inを理解するまでは、まだまだ遠いですけど少しずつでもがんばります。

ほんとうにありがとうございました。

オフライン

#11 2007-09-29 03:44:26

Andy
メンバー
登録日: 2004-03-18
投稿: 1,495
ウェブサイト

Re: 曜日の日本語表示

<!-- l --><a class="postlink-local" href="http://japan.nucleuscms.org/bb/viewtopic.php?t=3626">viewtopic.php?t=3626</a><!-- l -->
でいただいた,コメントで使えるようにしたいというのを反映したバージョンです。

環境にあった文字コードで保存して使ってください。

<?php

class NP_JPWKDY extends NucleusPlugin {
	function getName() { return 'JP Weekday'; }
	function getAuthor()	{ return 'Andy'; }
	function getURL() { return ''; }
	function getVersion() { return '0.6'; }
	function getDescription() {
		return 'テンプレートに<%JPWKDY%>と書くと曜日を漢字で表示します。';
	}


	function supportsFeature($what) 
	{
		switch ($what)
		{
			case 'SqlTablePrefix':
				return 1;
			default:
				return 0;
		}
	}

	
	function init() {
		$this->weekday = array ('日', '月', '火', '水', '木', '金', '土');
	}

	function doTemplateVar(&$item) {
		echo $this->weekday[strftime('%w', $item->timestamp)];
	}

	function doTemplateCommentsVar(&$item, &$comments) {
		echo $this->weekday[strftime('%w', $comments['timestamp'])];
	}
}

?>

オフライン

Board footer