Нужна помощь в форматировании Unix Date из XML-вывода. - PullRequest
1 голос
/ 19 октября 2011

У меня есть фид событий из Facebook, который выводит данные в формате XML.Я думаю, что даты / время представлены в формате эпох (unix).Примерно так:

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

Это динамическая информация (события, созданные на странице facebook).

Я использую php file_get_contents, чтобы разместить вывод xml в моем html.

Как в мире я могу преобразовать даты Unix в удобный для пользователя формат?Я в полной растерянности.

Ответы [ 2 ]

1 голос
/ 20 октября 2011

Наконец-то понял это!:) Woohoo!(кстати, с подачи XML на канал JSON) Вот что в итоге заработало:

   $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>";
 }
 ?> 
1 голос
/ 20 октября 2011

Просто используйте 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...