需要帮助从XML输出格式化Unix Date。

时间:2011-10-19 19:32:36

标签: facebook unix date replace

我有来自facebook的事件源,以XML格式输出数据。我想,日期/时间是epoch(unix)格式。像这样:

 <start_time>1319506200</start_time><end_time>1319511600</end_time>

这是动态信息(由facebook页面创建的事件)。

我使用php file_get_contents将xml输出放在我的html中。

我如何将unix日期转换为用户友好格式?我完全失去了。

2 个答案:

答案 0 :(得分:1)

只需使用string date ( string $format [, int $timestamp = time() ] )

即可

从xml字符串中提取时间戳值并将其作为参数#2传递到日期,作为参数#1,您应该提供首选格式字符串,例如'Y-m-d T:i:s'

提取时间戳可能看起来像这样: 鉴于您将事件订阅源输出数据存储在字符串中,在本例中为$ xmlstr

$facebooksomething = new SimpleXMLElement($xmlstr);
date('Y-m-d T:i:s', $facebooksomething->starttime);

答案 1 :(得分:1)

终于搞清楚了! :)哇哦! (顺便说一下,从xml feed改为json feed)这就是最终的工作:

   $start_date = date('F j, Y, g:i a', strtotime($json_output2->start_time));
   $end_date = date('g:i a', strtotime($json_output2->end_time));

这是我的完整代码:

<?php

 $jsonurl = "https://graph.facebook.com/PAGEID/events?access_token=MYYOKEN";
 $json = file_get_contents($jsonurl,0,null,null);
 $json_output = json_decode($json);

 foreach ( $json_output->data as $data)

{

 $jsonurl2 = "https://graph.facebook.com/$data->id/";
 $json2 = file_get_contents($jsonurl2,0,null,null);
 $json_output2 = json_decode($json2);
 $start_date = date('F j, Y, g:i a', strtotime($json_output2->start_time));
 $end_date = date('g:i a', strtotime($json_output2->end_time));

echo "{$json_output2->name}\n";
echo "<br>"; 
echo "{$start_date}\n";
echo "&nbsp;-&nbsp;"; 
echo "{$end_date}\n";
echo "<br>"; 
echo "{$json_output2->description}\n";
echo "<br>Where: "; 
echo "{$json_output2->location}\n";
echo "<br><br>";
 }
 ?>