PHP中的Twitter API格式“created_at”[重复]
Posted
技术标签:
【中文标题】PHP中的Twitter API格式“created_at”[重复]【英文标题】:Twitter API format "created_at" in PHP [duplicate] 【发布时间】:2014-06-30 08:39:04 【问题描述】:我需要一个建议如何将 Mon May 12 19:11:38 +0000 2014 转换为 2 分钟前 或 10 分钟前 .
我的编码是这样的。
if(isset($tweets->statuses) && is_array($tweets->statuses))
if(count($tweets->statuses))
foreach($tweets->statuses as $tweet)
echo "<td>";
echo $tweet->user->screen_name;
echo "</td>";
echo "<td>";
echo $tweet->text;
echo "</td>";
echo "<td>";
echo $tweet->created_at;
echo "</td>";
echo "</tr>";
我已经实现了类似的东西,我想挖掘created_at
,因为它看起来有点奇怪。无论如何,我找到了很多来源,例如this。但那不是我想要的。我想要的是让它显示为2 days ago
、10 days ago
、yesterday
。有什么想法吗?
【问题讨论】:
@JohnConde 嘿,我已经检查过了,但这是推特。这与那个问题大不相同。 它没有不同。他们都做同样的事情。 Twitter 部分无关紧要。 顺便说一句,我永远不会知道我是否遵循这个问题。 @约翰康德 【参考方案1】:这就是你要找的。p>
function timeSince($time)
$since = time() - strtotime($time);
$string = '';
$chunks = array(
array(60 * 60 * 24 * 365 , 'year'),
array(60 * 60 * 24 * 30 , 'month'),
array(60 * 60 * 24 * 7, 'week'),
array(60 * 60 * 24 , 'day'),
array(60 * 60 , 'hour'),
array(60 , 'minute'),
array(1 , 'second')
);
for ($i = 0, $j = count($chunks); $i < $j; $i++)
$seconds = $chunks[$i][0];
$name = $chunks[$i][1];
if (($count = floor($since / $seconds)) != 0)
break;
$string = ($count == 1) ? '1 ' . $name . ' ago' : $count . ' ' . $name . 's ago';
return $string;
【讨论】:
@hey cmorrissey,你能告诉我如何开始使用这段代码吗?我有代码以及如何从$tweet->created_at
链接到timeSince($time)
?
@Anthosiast echo timeSince($tweet->created_at);
Call to undefined function timeSince()
。不工作。这是什么问题?我已经将该函数作为 javascript 放在 head 标记上。
@Anthosiast 这不是js
这是php
把它放在用<?php ?>
标签包裹的文档顶部
OHHHH 现在可以了!谢谢!!以上是关于PHP中的Twitter API格式“created_at”[重复]的主要内容,如果未能解决你的问题,请参考以下文章
PHP 将Twitter API日期时间转换为MySQL日期时间格式