使用DateTime :: CreateFromFormat创建日期对象

ser*_*erg 4 php datetime

我有一个日期字符串:

25/08/2012
Run Code Online (Sandbox Code Playgroud)

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

这是我尝试过的:

$eventDate = DateTime::createFromFormat('d/m/y', $fecha->innertext);
echo $eventDate;
Run Code Online (Sandbox Code Playgroud)

echo语句不会在屏幕上显示任何内容,并且在尝试将其保存到数据库时,该列中不会保存任何内容.

有什么建议?

Vol*_*erK 10

$eventDate包含一个布尔值(false),它打印为空字符串.

你需要使用大写字母Y.

Y一年的完整数字表示,4位数示例:1999或2003
y一年的两位数表示示例:99或03

你必须调用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');
Run Code Online (Sandbox Code Playgroud)

版画

2012-08-25
Run Code Online (Sandbox Code Playgroud)