私は日付を取得します:{$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'}
しかし、どうやって20日後になるのでしょうか?
今なら:2010 05 05 12:12:12
、見せたい2010 25 05 12:12:12
strtotime()
php関数を使用して、変数をsmartyに割り当てます。このようなもの:
<?php
$later = strtotime('+20 day');
$smarty->assign('later', $later);
?>
次に、テンプレートで:
{ $later|date_format:'%Y-%m-%d %H:%M:%S'}
{$smarty.now}
は単純なタイムスタンプ(1970年からの秒数)です。したがって、必要なだけ秒数を追加できます。
{$smarty.now+20*24*60*60|date_format:'%Y-%m-%d %H:%M:%S'} //+20 days
これはSmarty3で機能します。古いバージョンではない場合は、{assign}
および/または{math}
ディレクティブを使用して計算を行う必要がある場合があります。
Strtotime()を修飾子として直接使用できます。
{"+20 days"|strtotime|date_format:"Y/m/d"}
Smartyの新しいバージョンでは、先頭に追加する文字列をstrtotimeします
つまり{$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'}
を実行する代わりに、{"now"|date_format:'%Y-%m-%d %H:%M:%S'}
を実行することもできます。
今から20日後の日付を取得するには、次の操作を実行できます。
{"+20 days"|date_format:"%Y-%m-%d"}
{assign var="iItemOne" value=$smarty.now}
{assign var="iItemTwo" value=1296000} //60*60*24*15-> for 15 days
{assign var="iSum" value=$iItemOne+$iItemTwo}
{$iSum|date_format:'%Y-%m-%d %H:%M:%S'}