#facebook #unix #date #replace
#Facebook #unix #Дата #заменить
Вопрос:
У меня есть канал событий из facebook, который выводит данные в формате XML. Я думаю, что даты / время указаны в формате эпохи (unix). Вот так:
<start_time>1319506200</start_time><end_time>1319511600</end_time>
Это динамическая информация (события, созданные страницей facebook).
Я использую php file_get_contents для размещения вывода xml в моем html.
Как я могу преобразовать даты unix в удобный для пользователя формат? Я в полной растерянности.
Комментарии:
Ответ №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. Прошу прощения за незнание, но как мне извлечь значение? Я понимаю концепцию строки даты, но как извлечь временную метку, чтобы передать ее через php?
2. Спасибо — я посмотрю, что я могу придумать — я еще не совсем понимаю php 🙂 Я едва справляюсь с CSS и HTML, lol
Ответ №2:
Наконец-то разобрался с этим! 🙂 Уууу! (кстати, изменен с 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 "amp;nbsp;-amp;nbsp;";
echo "{$end_date}n";
echo "<br>";
echo "{$json_output2->description}n";
echo "<br>Where: ";
echo "{$json_output2->location}n";
echo "<br><br>";
}
?>