ブログ カレンダー

« « 2024 4月 » »
31 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 1 2 3 4

カテゴリ一覧

アーカイブ

最新のエントリ

最新のコメント

最新のトラックバック

趣味のブログ - d3blog の日付フォーマット

d3blog の日付フォーマット

カテゴリ : 
XOOPS
執筆 : 
OhYeah! 2010.10.12 01:04
 d3blog のメインコンテンツのタイムスタンプは、2010年9月5日9時5分なら 2010-9-5 9:05 と日付がハイフン区切りで月日時はゼロサプレスです。アーカイブ(過去ログの検索)の掲載日は、2010/09/05 とスラッシュ区切りのゼロ付きで、統一されていません。
 このサイトではタイムスタンプフォーマットを年月日はハイフン区切りで、月日時のゼロサプレスはしないように統一しているので、d3blog もこれに合わせたくなるのが人情。ってことで、d3blog のメインコンテンツ及びアーカイブのタイムスタンプを変更する方法です。
 d3blog でも、最新のエントリなどブロックには日付書式オプションがあるので、簡単にタイムスタンプのフォーマットを変更できます。が、メインコンテンツの執筆日やアーカイブの掲載日は、他のモジュールと違ってテンプレート内の smarty でフォーマットを指定していません。モジュールのプリファレンスにもフォーマット指定がありません。

 じゃあ、どこでフォーマット指定しているのかというと、メインコンテンツの執筆日については、言語設定ファイル global.php の _MEDIUMDATESTRING を参照しています。デフォルトでは "Y-n-j G:i" のため、月日時がゼロサプレスされるってことです。
 したがって、ここを "Y-m-d H:i" に変更してやれば、月日時がゼロサプレスされなくなります。ROOT パス側の /modules/legacy/language/言語名/global.php を直接書き換えても良いですが、ALTSYS モジュールで書き換えた方が良いと思います。管理者メニューから ALTSYS の言語定数管理で互換モジュールをクリックし、global.php を選択すれば簡単に書き換えられます。

 アーカイブの掲載日については、スクリプトを書き換えるしか変更する方法がありません。TRUST パス側の /modules/d3blog/class/entry.class.php の function &getStructure() の
        $ret['publish_date'] = formatTimestamp($this->published(), "Y/m/d");
        $ret['publish_time'] = formatTimestamp($this->published(), "H:M");
が該当部分です。
 ここを下記のように書き換えると、ハイフン区切りになります。publish_time の "H:M" もバグだと思いますので、"H:i" に書き換えましょう。
        $ret['publish_date'] = formatTimestamp($this->published(), "Y-m-d");
        $ret['publish_time'] = formatTimestamp($this->published(), "H:i");


 フォーマットを直接指定せず、下記のように "s" と指定しておくと、global.php の _SHORTDATESTRING を参照するようになります。こちらに変更した上で、ALTSYS で _SHORTDATESTRING を "Y-m-d" 設定した方が、書式再設定をする可能性がある場合は便利ですね。
        $ret['publish_date'] = formatTimestamp($this->published(), "s");
        $ret['publish_time'] = formatTimestamp($this->published(), "H:i");


2010.10.12 21:43 追記
 当サイトの日付は「年.月.日」とハイフン区切りからピリオド区切りに変更しました。

トラックバック

トラックバックpingアドレス http://www.o-ya.net/modules/d3blog/tb.php/42

コメント一覧

OhYeah!  投稿日時 2010.10.13 22:15 | 最終変更
d3blog 開発者の hodaka さんが、main_archives.html テンプレートの変更で対応されるということなので、このサイトもテンプレートを変更しました。
http://www.kuri3.net/modules/newbb/viewtopic.php?viewmode=thread&topic_id=471&forum=2&post_id=2163#forumpost2163