php - 日期格式返回 FALSE

标签 php mysql date

我从 mySQL 查询中得到这样的日期:2017-06-23 20:08:58

我正在尝试这样做以更简单的格式返回日期:

$response = $stmt->fetchAll(PDO::FETCH_ASSOC);
$items = array();
foreach ($response as &$value) {
    $items[] = date_format($value['date_added'], 'Y-m-d');
}

但是,这对每个日期只返回 false

如果我尝试

$response = $stmt->fetchAll(PDO::FETCH_ASSOC);
    $items = array();
    foreach ($response as &$value) {
        $items[] = $value['date_added'];
    }

我以这种格式返回日期 (2017-06-23 20:08:58),所以我知道查询有效,但我如何“即时”格式化这些日期?

最佳答案

date_format 需要 DateTimeInterface 对象而不是字符串。你可以做的是在你的查询中使用 mysql 的 date_format,这样你就不需要用 PHP 来做。

SELECT DATE_FORMAT(date_added, '%Y-%m-%d') AS date_added

关于php - 日期格式返回 FALSE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44850598/

相关文章:

php - 在 PHP 中使用 CURL 通过 REST API 在 JIRA 中添加问题

PHP 脚本在 $mail = new PHPMailer() 处失败,没有错误消息

Mysql 表之间的关系 - 决定因素

SQL 来确定连续访问天数的不同时期?

php - 值从 php 到存储过程

php - 如果 url 在主域之后包含问号,我需要一个 htaccess 规则

mysql - SQL聚合查询

php - JOIN 表 MySQL 未在 PHP 中加入

javascript - 将 X 天添加到指定日期

javascript - 将过去的日期和迄今为止的持续时间禁用为三个月