Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Вывести дату в нужном формате


Автор: dexterx 11.3.2009, 17:31
Здравствуйте у меня такая проблемка,
У меня есть в mysql поле "date" где соответственно
я храню даты в формате 2009-03-11
но в Smarty мне нужно вывести дату в формате
11.03.2009 как это сделать ведь я вывожу целый 
массив записей если дата была одна то в php
можно было бы сделать через explode()
$date_arr = explode("-", $date);
$date_res = "".$date_arr[2].".".$date_arr[1].".".$date_arr[0]."";
но как такое сделать что б в Smarty даты выводились в нужном формате

Автор: s0lman 11.3.2009, 19:11
Извлекаются данные, приводятся к нужному формату, ассигнятся  переменные смарти и выводятся.
Форматируется дата, например, с помощью http://ua.php.net/manual/ru/function.preg-replace.php

Добавлено через 1 минуту и 38 секунд
http://forum.vingrad.ru/forum/topic-243018/anchor-entry1750932/0.html доступно описано, как это сделать

Автор: dexterx 11.3.2009, 19:31
да я знаю как с preg_replace сделать, 
но просто в смарти я вывожу массив
Код

$query = "SELECT * FROM `car` WHERE 1 ";
if (!empty($date1)) $query .= " AND `date` >= ".intval($date1);
if (!empty($date2)) $query .= " AND `date` <= ".intval($date2);
$query .= " ORDER BY `id` DESC ";
$r = mysql_query($query);
 while($par = mysql_fetch_array($r))
    {
$rows[]=$par; //массив для смарти
}
$smarty->assign('car', $rows);
$smarty->display("car.tpl.html");


Код

{foreach from=$car item=item}
{$item.date} <!--Здесь выводится несколько записей дат с БД в формате 2009-03-11, а нужно в 11.03.2009-->
{/foreach}


Автор: enof 11.3.2009, 19:41
Код

while($par = mysql_fetch_array($r))
{
$par['date'] = str_replace("-",".", $par['date']);
$rows[]=$par; //массив для смарти
}

Автор: dexterx 11.3.2009, 19:52
 smile Спасибо большое я даже не знал что так можно smile 

Автор: Photon 11.3.2009, 21:46
Код

SELECT DATE_FORMAT(поле_с_датой, '%d.%m.%Y') as FC_DATE FROM table_name;

где %d - день месяца (01-31), %m - месяц (01-12), %Y - год (4 цифры)

Так же быстрее будет.. smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)