2013-11-07 5 views
0

PHP У меня есть сайт Joomla 3 и использовать этот код для извлечения данных из базы данныхдата и время

<?php 
$db = JFactory::getDbo(); 
$query = $db->getQuery(true); 

$query->select($db->quoteName('receive_date')); 
$query->select($db->quoteName('total_amount')); 
$query->select($db->quoteName('source')); 
$query->from($db->quoteName('money')); 

$db->setQuery($query); 

$results = $db->loadObjectList(); 

?> 
<table> 
<?php 
foreach ($results as $result) { 
    echo "<tr>" . "<td>" . $result->receive_date . "</td>" . "<td>" . $result->total_amount . "руб." . "</td>" . "<td>" . $result->source . "</td>" . "</tr>"; 
} 
?> 
</table> 

Он возвращает меня на receive_date даты в формате «2013-09-30 17:49:00» , Могу ли я удалить время и иметь только 2013-09-30 для этого поля?

Спасибо!

+0

Попробуйте эту ссылку, это объясняет все форматы, (http://webamoeba.co.uk/blog/working -with-dates-in-joomla /) –

ответ

1

JFactory Используя класс предоставленный Joomla, вы могли бы использовать это:

echo "<tr><td>" . JFactory::getDate($result->receive_date)->format('Y-m-d') ."</td></tr>"; 

В дополнение к этому ответу, я думал, что я позволил бы вам знать, что вам не нужно использовать 3 разные select попытки в запросе, так что вы можете изменить это:

$query->select($db->quoteName('receive_date')); 
$query->select($db->quoteName('total_amount')); 
$query->select($db->quoteName('source')); 
$query->from($db->quoteName('money')); 

к этому:

$query->select(array($db->quoteName('receive_date'), $db->quoteName('total_amount'), $db->quoteName('source'))); 
$query->from($db->quoteName('money')); 
+0

большое спасибо, это именно то, что мне было нужно – gag

2

Просто сделай это:

$oDate = new DateTime($result->receive_date); 
echo $oDate->format('Y-m-d'); 
+0

извините, но я не могу поместить его в свой код, он дает мне такую ​​же дату для всех моих предметов из-за foreach, я плохо разбираюсь в php – gag

1

Вы можете сделать, как это ... OOP способ ..!

<?php 
$date = DateTime::createFromFormat('Y-m-d H:i:s',$yourdate); 
echo $mysqlformat=$date->format('Y-m-d'); 
?> 
0

Я предпочитаю использовать следующее: [! Работа с датами в Joomla]

echo date('Y-m-d', strtotime($result->receive_date));