一般经验而言,都是将时间戳作为日期时间值传递给Smarty。
模板设计者可以使用date_format
修饰器来控制日期时间的显示格式,还可以在需要时进行日期的比较。
Example 21.4. 使用 date_format
{$startDate|date_format}
输出:
Jan 4, 2009
{$startDate|date_format:"%Y/%m/%d"}
输出:
2009/01/04
日期的时间戳可以在模板内进行比较:
{if $order_date < $invoice_date} ...do something.. {/if}
当在模板内使用
{html_select_date}
,
程序设计者会希望将输出的日期转换回时间戳。下面的函数可以做到这点:
Example 21.5. 转换元件的日期为时间戳
<?php // this assumes your form elements are named // startDate_Day, startDate_Month, startDate_Year $startDate = makeTimeStamp($startDate_Year, $startDate_Month, $startDate_Day); function makeTimeStamp($year='', $month='', $day='') { if(empty($year)) { $year = strftime('%Y'); } if(empty($month)) { $month = strftime('%m'); } if(empty($day)) { $day = strftime('%d'); } return mktime(0, 0, 0, $month, $day, $year); } ?>
参见
{html_select_date}
,
{html_select_time}
,
date_format
和
$smarty.now
,