Даты

Обычно даты в Smarty всегда передаются как временные метки, что позволяет проектировщикам шаблонов использовать date_format для полного контроля над форматированием даты и также делает легким сравнение дат там, где это необходимо.

ЗАМЕЧАНИЕ: Начиная с версии Smarty 1.4.0 вы можете передавать дату в виде временной метки Unix (Unix timestamp), временной метки MySQL или в любом другом виде, который подерживается функцией PHP strtotime().

Пример 18-4. Использование date_format

{$startDate|date_format}

ВЫВОД:

Jan 4, 2001


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

ВЫВОД:

2001/01/04


{if $date1 < $date2}
	...
{/if}

Когда {html_select_date} используется в шаблоне, программистам может понадобиться получить дату виде временной метки. Вот функция, которая поможет это сделать.

Пример 18-5. Преобразование элементов формы ввода даты назад к временной метке

// Предполагается, что ваши элементы формы названы
// 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);
 }