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

2022-01-09 00:00:00 datetime insert php mysql

我在名为 Film_Release

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

I am looping through and I want to convert them in datetime and roll them out into another table. My second table has a column called Films_Date, with a format of DATE. I am receiving this error

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

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 插入到表中.

Then I insert $newdate into the table through an insert command.

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

Why am I be getting such an error?

推荐答案

因为 $newDateDateTime 类型的对象,而不是字符串.文档是明确的:

Because $newDate is an object of type DateTime, not a string. The documentation is explicit:

返回根据指定格式的新 DateTime 对象格式.

Returns new DateTime object formatted according to the specified format.

如果您想从字符串转换为 DateTime 再转换回字符串以更改格式,请调用 DateTime::format 最后从 DateTime 中获取格式化字符串.

If you want to convert from a string to DateTime back to string to change the format, call DateTime::format at the end to get a formatted string out of your DateTime.

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

相关文章