日期时间
一般经验而言,都是将时间戳作为日期时间值传递给Smarty。 模板设计者可以使用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}
, 程序设计者会希望将输出的日期转换回时间戳。下面的函数可以做到这点:
- <?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
,