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

2022-08-30 09:30:34

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

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

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

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

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

为什么我会收到这样的错误?


答案 1

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

返回根据指定格式设置格式的新对象。DateTime

如果要从字符串转换回字符串以更改格式,请在末尾调用 DateTime::format 以从 中获取格式化字符串。DateTimeDateTime

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

答案 2

试试这个:

$Date = $row['valdate']->format('d/m/Y'); // the result will 01/12/2015

注意:它是数据库中的起息日$row['valdate']


推荐