Новый формат даты из Твиттера - PullRequest
2 голосов
/ 28 марта 2012

Итак, я внедряю twitter через twitter widget pro в тему WordPress.Я хочу датировать твиты не так, как в WordPress и в форматах виджетов.Я хочу следовать формату даты твиттеров: 5 ч, 23 ч или 3 марта. Все, что я смог найти, - это как сделать «создано _ назад», «о _ старом» и т. Д. Я просто хочу использовать xhесли в течение 24 часов, в противном случае используйте сокращение дня и месяца.Я действительно не знаю php или слишком много js, поэтому любая помощь очень, очень ценится.

1 Ответ

0 голосов
/ 28 марта 2012

Использование PHP DateTime и DateInterval классов,

$dt1 = new DateTime("2012-02-10 10:32:22");
$dt2 = new DateTime();
$diff = $dt2->diff($dt1);
echo $diff->format("%Y years, %m months, %d days, %H hours, %I minuts, %s seconds ago");
/// 00 years, 1 months, 18 days, 08 hours, 26 minuts, 51 seconds ago

Если вы не хотите выводить 00 years, 00 months и т. Д., Проверьте, что свойства DateTime::y, DateTime::m и т. Д. Равны 0. Если ноль не отображает их. Например,

$format = "";
if ($diff->y > 0){
    $format.="%Y years,";
}
if ($diff->m > 0){
    $format.="%m months,";
}
...
// more conditions for hours, minutes, seconds

// echo the format
echo $diff->format($format);

Интересные ссылки,

  1. DateTime :: __ конструкт ()
  2. DateTime :: Diff ()
  3. DateInterval :: формат ()
...