这是我的困境。我已尝试引用http://php.net/manual/en/datetime.format.php
但这没有帮助我,或者我没有正确设置我的代码。
这是我的代码。
$query = "SELECT id,f_name, l_name, phone_1, phone_2, car_name, email, zipcode, ref_name, dateadded ";
$query .= "FROM customers JOIN carriers ON customers.carrier = carriers.car_id ";
$query .= "JOIN referrals ON customers.referral = referrals.ref_id";
$select_customers = mysqli_query($connection, $query);
while($row = mysqli_fetch_assoc($select_customers)) {
$customer_id = $row['id'];
$c_fname = $row['f_name'];
$c_lname = $row['l_name'];
$c_email = $row['email'];
$c_phone1 = $row['phone_1'];
$c_phone2 = $row['phone_2'];
$car_id = $row['car_id'];
$c_carrier = $row['car_name'];
$c_zip = $row['zipcode'];
$ref_id = $row['ref_id'];
$c_ref = $row['ref_name'];
$c_added = $row['dateadded'];
echo "<tr>";
echo "<td>{$c_fname}</td>";
echo "<td>{$c_lname}</td>";
echo "<td>{$c_email}</td>";
echo "<td>{$c_phone1}</td>";
echo "<td>{$c_phone2}</td>";
echo "<td>{$c_carrier}</td>";
echo "<td>{$c_zip}</td>";
echo "<td>{$c_ref}</td>";
echo "<td>". date_format($c_added, 'd/m/y') ."</td>";
echo "<td><a class='btn btn-danger' href='customers.php?source=edit_customer&id={$customer_id}'>Edit</a></td>";
}
它将回显一个空白字段。 'dateadded'的col被设置为 datetime 和 value 的'2016-09-28 10:40:44'。我的代码的更正表示赞赏。感谢。
答案 0 :(得分:1)
有很多方法可以做到这一点,另一个方法是先前的答案:
echo "<td>". date_format(new DateTime($c_added), 'd/m/y') ."</td>";
答案 1 :(得分:1)
请尝试替换:
echo "<td>". date_format($c_added, 'd/m/y') ."</td>";
代码中的用:
echo '<td>' . gmdate('d/m/y', (int)$c_added['0']) . '</td>';
或者
echo '<td>' . date('d/m/y',strtotime($c_added)) . '</td>';
请注意:使用"<td>"
速度较慢,使用'<td>'
更快
答案 2 :(得分:0)
date_format
接受为第一个参数
返回的DateTime对象
date_create()
你的$c_added
绝对不是这样的对象。我建议你使用普通的date
函数:
echo "<td>". date('d/m/y', strtotime($c_added)) ."</td>";
答案 3 :(得分:0)
date_format函数格式化DateTime数据类型,而$ c_added是String。
答案 4 :(得分:0)
RTM。 date_format不接受字符串作为参数。
你应该使用别的东西,比如
date("d/m/Y", strtotime('2016-09-28 10:40:44'));
返回“28-09-2016”