php - 如何从 symfony2/php 中的字符串创建 DateTime 对象

标签 php datetime symfony

在数据库表中,我有几个字段类型为 datetime 的字段。所以我只需要将数据保存为日期时间对象。

从表单中我得到日期时间作为字符串

2012-10-05 17:45:54

现在,每当我坚持我的实体时,我都会收到以下错误:

Fatal error: Call to a member function format() on a non-object in ..\DateTimeType.php on line 44

我试过

$protocol->setStartedAt(strtotime($post['started_at']));

$from = \DateTime::createFromFormat('yy-mm-dd hh:mm:ss', $post['started_at']);
$protocol->setStartedAt($from);

或者只是

$from = new \DateTime($post['started_at']);
$protocol->setStartedAt($from);

最后的代码有效,但它不使用作为参数传递的时间戳,而只是获取当前时间。

有什么想法吗?

最佳答案

我总是用它的构造函数创建一个 DateTime 对象,在你的情况下它是:

$protocol->setStartedAt(new \DateTime($post['started_at']));

如果这有效但不使用发布的时间戳,则您可能没有 $post['started_at'] 中的值。尝试调试它或者只是做一些卑鄙的把戏:

die($post['started_at']);

关于php - 如何从 symfony2/php 中的字符串创建 DateTime 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12750050/

相关文章:

c# - 日期时间并不总是得到设置

.net - 以 "Last Month"等描述性文本格式格式化 .Net 日期时间?

Symfony2无需请求即可进行模板化

javascript - ajax html响应自定义显示

php - Go 相当于 PHP preg_match

php - mysql select查询彩票组合

php - 如何根据 symfony2 DQL 中的日期时间列过滤查询结果

testing - Symfony 3 功能测试 : authenticate user of own User class

php - Symfony2 日期时间查询生成器

PHP/AJax 免费增值工具 - 如何在显示结果前限制使用次数