从timestamp数组到php的时间戳

时间:2013-04-09 19:22:02

标签: php xml api timestamp

大家好我真的很新的PHP,我试图从xml数组转换时间戳,但没有成功,我读了我发现的一切,但仍然可以找到你可以帮助的方式吗?

我正在使用此代码解码xml api输出

$mysongs = simplexml_load_file('http://example.com/test/xml/');
$timestamp = $mysongs->item->timestamp;
$playtime = date("Y-d-m G-i-s",$timestamp);

如果我回显$ timestamp它工作正常,$ playtime不...

试过:

echo gmdate("Y-m-d", $timestamp);

&安培;

echo date('Y-m-d H:i:s', $wra);

&安培;

echo '<timeplayed>' . date('Y-m-d G:i:s', $mysongs->item->timestamp) . '</timeplayed>';

仍然没有运气..时间没有显示..如果我使用这个例子

echo '<timeplayed>' . date('Y-m-d G:i:s', (1365532902)) . '</timeplayed>';

它运作正常..我在这里做错了什么?

更新

最后我发现它..它需要将$ timestamp作为整数投射到日期,以便在euxneks消化时正确解码..

所以正确的代码应该是

$timestamp = intVal ($mysongs->item->timestamp);

然后

    $playtime = date("Y-d-m H-i-s",($timestamp));

&安培;终于echo ($playtime);,它运作正常......

感谢大家解决了您的回复问题

2 个答案:

答案 0 :(得分:0)

你可能需要将结果转换为整数(因为我使用了simplexml已经有一段时间了,但我很确定它不会自动输入收到的值):

http://php.net/intval

此外,strtotime也可能有效:)

http://php.net/strtotime

答案 1 :(得分:0)

你肯定缺少strtotime函数,这是一个例子:

$str = '04/09/2013';
$date = date('Y-m-d H:i:s',strtotime($str));

echo $date;

这将输出:

2013-04-09 00:00:00

更新了

由于使用了strtotime,所以使用:

$date = date('Y-m-d H:i:s', ($timestamp));