php - DateTime 类的对象无法转换为字符串

我在名为 Film_Release

的字段中有一个表格,其中包含 2012 年 4 月 20 日星期五 格式的字符串值

我正在循环,我想在 datetime 中转换它们并将它们展开到另一个表中。我的第二个表有一个名为 Films_Date 的列,格式为 DATE。我收到此错误

Object of class DateTime could not be converted to string

$dateFromDB = $info['Film_Release'];
$newDate = DateTime::createFromFormat("l dS F Y",$dateFromDB); //( http:php.net/manual/en/datetime.createfromformat.php)

然后我通过插入命令将 $newdate 插入到表中。

为什么会出现这样的错误?

最佳答案

因为 $newDateDateTime 类型的对象,而不是字符串。 documentation是明确的:

Returns new DateTime object formatted according to the specified format.

如果你想从一个字符串转换成DateTime再转换回字符串来改变格式,调用DateTime::format最后从 DateTime 中获取格式化字符串。

$newDate = DateTime::createFromFormat("l dS F Y", $dateFromDB);
$newDate = $newDate->format('d/m/Y'); // for example

https://stackoverflow.com/questions/10209941/

相关文章:

mysql - 查询以确定数据库中表的大小? (mysql)

php - MySQL 删除多列

python - 如何安装 MySQLdb 包? (导入错误 : No module named s

mysql - 带有引用 MySQL 中同一个表的子查询的 SQL UPDATE

mysql - 列计数与第 1 行的值计数不匹配

mysql - 获取 "Count(*)"与 "GROUP BY"中所有项目数的百分比

php - 从字段不匹配条件的表中选择

php - 选择在 wp_usermeta 表中的多行上具有合格数据的用户

mysql - 仅获取mysql中时间戳中的日期

mysql - INSERT ... 使用 WHERE 进行重复的 key 更新?