Smarty Manual
Prev | Chapter 17. Tips & Tricks | Next

# Dates

As a rule of thumb, always pass dates to Smarty as timestamps. This allows template designers to use date_format for full control over date formatting, and also makes it easy to compare dates if necessary.

> Note: As of Smarty 1.4.0, you can pass dates to Smarty as unix timestamps, mysql timestamps, or any date parsable by strtotime().

Example 17-4. using date_format
    {$startDate|date_format}
This will output:
    Jan 4, 2001
    {$startDate|date_format:"%Y/%m/%d"}
This will output:
    2001/01/04
    {if $date1 < $date2}
       ...
    {/if}

When using {html_select_date} in a template, The programmer will most likely want to convert the output from the form back into timestamp format. Here is a function to help you with that.

Example 17-5. converting form date elements back to a timestamp
`<?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); } ?>`

Prev | Home | Next
Passing variable title to header template | Up | WAP/WML