更改日期格式以导入Mysql

时间:2014-08-15 10:10:17

标签: php xml datetime date-conversion

我需要帮助更改此日期格式:

我用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

3 个答案:

答案 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

?>  

PHP REFRENCE