Smarty での現在の日付と時刻の取得と日付と時刻の書式設定は、PHP での方法とは多少異なります。ここで詳しく説明します。
まず、現在の日付と時刻を取得します。
PHP では、date 関数を使用して現在の時刻を取得します。コード例は次のとおりです。
date("Y-m-dH:i:s"); //結果 2010-07-27 21:19:36 モード
ただし、Smarty テンプレートでは日付を使用できません。代わりに、now を使用して現在の時刻を取得する必要があります:
{$smarty.now} //結果は次のように表示されます: 1280236776 タイムスタンプ モード
ただし、このタイムスタンプを次のようにフォーマットすることもできます:
{$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'} //結果は次のようになります。表示される時間パターンは 2010-07-27 21:19:36 です
Smarty の date_format 時刻書式設定関数は、基本的に PHP の strftime() 関数と同じであることに注意してください。PHP の strftime() 関数で形式識別変換マークを確認できます。このうち、%Yは10進数の年、%mは10進数の月、%dは10進数の日、%Hは10進数の時、%Mは10進数の分数、%Sは10進数の秒を表します(ここでのSは大文字で)。
////////////////////////////////////////////// /// ////////////////////////////////////////////// /////// ////////////////////////////////////////// ///////////
smarty での date_format 関数の使用法
php で date 関数を使用してタイムスタンプをフォーマットします。これを実現するには、smarty で Date_format を使用できます。
具体的な使用法:{$timestamp| date_fomat:”%Y-%m-%d %H:%M:%S”} 注: 両側にスペースはありません
出力形式: 2010-07-10 16:30:25
その他使用法は次のとおりです:
{$smarty.now|date_format}
{$smarty.now|date_format:”%A, %B %e, %Y”}
{$smarty.now|date_format:”%H:% M:%S”}
{$yesterday|date_format}
{$yesterday |date_format:”%A, %B %e, %Y”}
{$yesterday|date_format:”%H:%M:%S” }
例:
テンプレートで
{$goods.add_time|date_format:"%Y-%m-%d %H:%M:%S"}
---------------- を使用しますページ ----------
index.php:
$smarty = 新しい Smarty;
$smarty->assign('currtime', time());
$smarty->display('index.tpl');
index.tpl:
{$smarty.now|date_format}//現在時刻をフォーマットします
{$smarty.now|date_format:"%H:%M:%S"}
{$currtime|date_format}//経過時間をフォーマットします
{ $currtime|date_format:"%A, %B %e, %Y"}
{$currtime|date_format:":"%Y-%m-%d %H:%M:%S"}
OUTPUT://上記は次の結果を出力します
2008年12月26日
08:55:25
2008年12月26日
2008年12月26日金曜日
2008-08-26 08:55:21