2010-09-28 4 views
1

Я пытаюсь отображать статусы twitter в моем блоге, однако я не могу получить время, когда каждый статус создается, чтобы отобразить способ, которым я хочу. Вот как это печатается в настоящее время:Статистика титров timestamp help

Thu Aug 05 12:36:20 +0000 2010 

Однако я хотел бы, чтобы это будет отображаться как это:

54 days ago 

Как я могу справиться с этим с PHP preg_replace?

Также на данный момент я использую API twitter для получения статусов. Лучше ли использовать этот метод или RSS-канал? Буду признателен, если кто-нибудь сможет мне помочь. Спасибо

ответ

0

Вам не нужно вручную анализировать дату, она уже в понятном формате. Если вы запустите его через strtotime, он вернет метку времени, с которой вы можете работать.

Концепция отображения времени, как вы хотите, называется «нечетким временем», и вы можете найти на ней действительно кодовый пост here.

0

Вы не сможете это сделать с помощью preg_replace(). Вам нужно сделать некоторые временные сравнения, чтобы создать удобную для пользователя метку времени. Выезд this post. Также имейте в виду, что ответы Twitter будут GMT.

Что касается API по сравнению с RSS, это действительно зависит от вас. Оба ответа должны быть проанализированы. В настоящее время существует больше накладных расходов на API, так как Twitter поддерживает только OAuth. Хотя доступно несколько библиотек PHP. Если вы хотите отображать статусы, я бы пошел с RSS.

+0

Как я могу это сделать через RSS? Кажется, я ничего не могу найти в учебнике. –

1

Я бы рекомендовал написать его на странице как «5 августа 2010» (или, как вы хотите, чтобы он появился). Таким образом, вам нужно только написать его один раз, не один раз в день. Но также записывать как отметку времени GMT таким образом, что JS может ее читать, но люди, у которых JS отключен, не могут ее увидеть. Затем, как только ваша страница будет отображаться правильно, используйте JS-скрипт для прокрутки тегов и замены дат дружественным текстом, который вы хотите. Пример:

<span class="dateToBeReplaced" title="Thu Aug 05 2010 12:36:20 GMT+0000">Aug 05 2010</span>

JS будет выглядеть примерно так (использует JQuery): http://jsfiddle.net/JxTLt/4/

JS является немного более привередливы форматов даты, чем PHP, так что вы в значительной степени должны придерживаться формата выше , Используйте strtotime() для обработки форматирования и изменения часового пояса.

Смежные вопросы