我有一个日期字符串:
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)