Get Smarty

Donate

Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

Dates

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

Example 18.4. Using date_format


{$startDate|date_format}

    

This will output:


Jan 4, 2009

    

{$startDate|date_format:"%Y/%m/%d"}

    

This will output:


2009/01/04

    

Dates can be compared in the template by timestamps with:


{if $order_date < $invoice_date}
   ...do something..
{/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 18.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);
}
?>

    

See also {html_select_date}, {html_select_time}, date_format and $smarty.now,

Comments
No comments for this page.

Advertisement

Sponsors [info]

Sponsors