忍者ブログ
~お前もこの 気持ちよさにやられちまいな~
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Smartyの修正子「date_format」のあれこれ
Smartyには(PHPのstrtotimeで解釈可能な英文形式の)日付時間を指定フォーマットで表示できる「date_formt」修正子があります。
これがとても便利でよく使いますが、細かいあたりをよく忘れてしまったり、ドキュメントに載ってなかったりする情報があったりすます。
まとめておいた方がいいだろ・・・備忘録的に考えて・・・。
date_formatは修正子です。
修正子は
{$変数名|修正子}
の形で使用します。
date_formatの場合は「:」で区切り、パラメータも渡して

{$変数名|date_format:"表示フォーマット":"変数がnullのときのデフォルト日時"}

という具合に書きます。
表示フォーマットのパラメータは下記を参照して下さい
date_format
http://sunset.freespace.jp/smarty/SmartyManual_2-6-7J_html/language.modifier.date.format.html


例文
php
$smarty->assign('time', "2009-03-07 12:34:56");
$smarty->assign('null', null);

smarty
修正子なし
{$time}
修正子あり
{$time|date_format:"%Y/%m/%d %H:%M:%S"}
年月日のみ表示
{$time|date_format:"%Y/%m/%d"}
先頭の0を表示せずに年月日のみ表示
{$time|date_format:"%-Y/%-m/%-d"}
デフォルト指定
{$null|date_format:"%Y年%m月%d日 %H時%M分%S秒":"2009/01/23 11:11:11"}

実行結果
修正子なし
2009-03-07 12:34:56
修正子あり
2009/03/07 12:34:56
年月日のみ表示
2009/03/07
先頭の0を表示せずに年月日のみ表示
2009/3/7
デフォルト指定
2009年01月23日 11時11分11秒
 
<br>タグ打ってないのに改行してる!とかの突っ込みはなしの方向でひとつ。

注意としては
date_format:"%Y年%m月%d日 %H時%M分%S秒"
みたいに日本語を入力すると環境によっては文字化けするらしいです。
数値文字参照で渡してあげて下さい。

なんでか先頭の0を表示させない方法って、あんまり載ってないんですよね。

ネタ元様
date_format
http://sunset.freespace.jp/smarty/SmartyManual_2-6-7J_html/language.modifier.date.format.html

仙人の心得 » php: Smartyのdate_formatで前のゼロを表示しない方法
http://blog.mktime.com/archive/42.html

Smartyのdate_format修正子でYYYY年M月D日を表示 : ::yossy.blog::
http://yossy.iimp.jp/wp/?p=54
PR
コメントを投稿する

HN
タイトル
メールアドレス
URL
コメント
パスワード
カレンダー

03 2024/04 05
S M T W T F S
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
ブログ内検索

プロフィール

中の人:
お仕事:
見習いプログラマー
趣味:
ネット、アニメ、音楽、チャリ
一言:
エロゲからクラブミュージックまで。
おじさんの趣味は108式まであるゆぉ~(・3・)