我需要帮助更改此日期格式:
我用XML格式得到它:15 08 14
。我正在尝试使用PHP将其导入MySQL,我的代码如下所示:
$Date = date_format(date_create_from_format('%d %m %Y', $record->Date), 'Y-m-d');
但它不起作用我不断收到错误:
警告:date_format()期望参数1为DateTime
答案 0 :(得分:1)
试试这个:
$Dt = DateTime::createFromFormat('d m y', $record->Date);
echo $Dt->format('Y-m-d');
答案 1 :(得分:0)
试试这个。
date('Y-m-d', strtotime(str_replace(' ', ':', $record->Date)));
修改强>
问题是原始日期格式的空格阻止PHP识别任何相关的日期格式。
但是,这可能不是最优雅的答案,如果其他人有更好的方法来检测您的日期格式(从XML文档中检索到的那个)应该使用该建议。
答案 2 :(得分:0)
Using a datetime field from a mysql database e.g. "2012-03-24 17:45:12"
<?php
$result = mysql_query("SELECT `datetime` FROM `table`");
$row = mysql_fetch_row($result);
$date = date_create($row[0]);
echo date_format($date, 'Y-m-d H:i:s');
#output: 2012-03-24 17:45:12
echo date_format($date, 'd/m/Y H:i:s');
#output: 24/03/2012 17:45:12
echo date_format($date, 'd/m/y');
#output: 24/03/12
echo date_format($date, 'g:i A');
#output: 5:45 PM
echo date_format($date, 'G:ia');
#output: 05:45pm
echo date_format($date, 'g:ia \o\n l jS F Y');
#output: 5:45pm on Saturday 24th March 2012
?>