0

我有一个 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>

它以'2013-09-30 17:49:00'格式返回receive_date日期。我可以删除时间并且该字段只有 2013-09-30 吗?

谢谢!

4

4 回答 4

2

只需这样做:

$oDate = new DateTime($result->receive_date);
echo $oDate->format('Y-m-d');
于 2013-11-07T14:11:53.600 回答
1

你可以这样做......OOP方式..!

<?php
$date = DateTime::createFromFormat('Y-m-d H:i:s',$yourdate); 
echo $mysqlformat=$date->format('Y-m-d');
?>
于 2013-11-07T14:13:35.720 回答
1

使用JFactoryJoomla 提供的类,您可以使用:

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

除了这个答案,我想我会让你知道你不需要select在查询中使用 3 次不同的尝试,所以你可以改变这个:

$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'));
于 2013-11-07T14:35:51.610 回答
0

我更喜欢使用以下内容:

echo date('Y-m-d', strtotime($result->receive_date));
于 2013-11-07T14:58:38.657 回答