php - 返回的 php DateTime 有什么问题?

标签 php mysql symfony datetime

我的 Symfony 4 项目返回了错误的日期时间。

当我注册文章时,我设置了一个新的DateTime来了解它的创建时间:

$article->setCreatedAt(new \DateTime());

这就是我在 Symfony 中获取对象的方式:

public function getArticleByIdAction(Article $article) {
    $json = $this->serializer->encode($article, 'json');
    return $this->response->fromJsonString($json);
}

这是返回的json数据:

{
  "id": 14,
  "name": "TestName",
  "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce at egestas turpis, in fringilla dui. Cras fringilla at neque vel dapibus. Ut id purus convallis, tempor nisi vel, laoreet nunc. Sed nunc ipsum, volutpat a ligula sed, accumsan aliquam arcu. Pellentesque volutpat, nisi sed tristique ultrices, nibh tellus tristique mi, sit amet venenatis erat enim eget risus. Maecenas non dolor eleifend, mattis ipsum id, dictum turpis. Nulla est mauris, facilisis et consequat ut, elementum quis ex. Suspendisse tortor eros, rutrum ac vehicula eget, bibendum ac nibh. Sed magna urna, gravida ac pharetra eu, mollis at mi. Praesent ut dolor nec massa malesuada interdum. Cras vel nunc faucibus, porta diam non, ultricies neque. Curabitur tincidunt, lacus at suscipit laoreet, ante mi bibendum dui, nec cursus ipsum libero nec mauris. Morbi tempor faucibus ullamcorper. Maecenas quis rutrum ipsum, ut pretium eros. ",
  "createdAt": {
    "timezone": {
      "name": "Europe\/Berlin",
      "transitions": [
        {
          "ts": -9223372036854775808,
          "time": "-292277022657-01-27T08:29:52+0000",
          "offset": 3208,
          "isdst": false,
          "abbr": "LMT"
        },
        {
          "ts": -2147483648,
          "time": "1901-12-13T20:45:52+0000",
          "offset": 3600,
          "isdst": false,
          "abbr": "CET"
        }
      ],
      "location": {
        "country_code": "DE",
        "latitude": 52.5,
        "longitude": 13.366659999999995989128365181386470794677734375,
        "comments": "Germany (most areas)"
      }
    },
    "offset": 3600,
    "timestamp": 1552461412
  },
  "updatedAt": null,
  "isActive": true
}

如何只返回 Mysql 中存储的日期?

最佳答案

您传入的是 DateTime 类的实例,而不是实际的日期和时间。

如果您只想传递当前日期和时间,您可以简单地执行以下操作:

$article->setCreatedAt(date('Y-m-d H:i:s'));

关于php - 返回的 php DateTime 有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55137023/

相关文章:

php - 隐藏 PHP MySQL 查询结果中的字符

php - MySQL多SELECT查询成表单然后UPDATE

MySQL 错误 1215 : Cannot add foreign key constraint for geometry datatype POINT

mysql - Symfony 显示 blob 值

javascript - 在 symfony2 中安装 Javascript

php - Laravel + React,通过 Laravel 身份验证使用 api

php - codeigniter 创建一个目录

mysql - 从 MySQL 切换到 MariaDB

php - 无法在非聚合查询中对未定义的结果变量添加条件

PHP MYSQL 换行长查询?