我的 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/