我有一串日期:

25/08/2012

在这里,我试图将其转换为 DateTime 对象,以便将其保存到 MySQL 数据库中。我的后端架构有一个 DateOfPrint date 列准备接收此数据。

这是我尝试过的:
$eventDate = DateTime::createFromFormat('d/m/y', $fecha->innertext);
echo $eventDate;
echo 语句不会在屏幕上显示任何内容,并且在尝试将其保存到数据库时,该列中没有保存任何内容。

有什么建议么?

最佳答案

您的 $eventDate 包含一个 boolean(false) ,它被打印为空字符串。
您需要使用大写的 Y。

你必须调用 DateTime::format()
例如

<?php
$fecha = new StdClass;
$fecha->innertext = '25/08/2012';

$eventDate = DateTime::createFromFormat('d/m/Y', $fecha->innertext);
if ( false===$eventDate ) {
  die('invalid date format');
}
echo $eventDate->format('Y-m-d');
打印
2012-08-25

10-08 02:36