所以基本上,我目前正在从我的 MySQL 数据库中选择一个时间戳。在数据库中,时间戳如下所示:
2010-06-30 12:36:08
显然对于一个 webapp 来说,这对用户来说并不是很有吸引力。所以,使用一些 CodeIgniter 函数,我让它看起来更好一些。
<h4 class="timestamp">
<?php // Quickly calculate the timespan
$post_date = mysql_to_unix($row->date);
$now = time();
echo timespan($post_date, $now);?> ago
</h4>
如果你不使用 CodeIgniter,那么一切都是标准的 PHP,除了echo timespan()
. CodeIgniter 只是将其呼应为“英语”时间跨度。因此,示例输出将是:
2 Months, 4 Weeks, 5 Hours, 20 Minutes ago
这一切都很好,但是,我想让它看起来更好......逗号太多了,而且有点太长了(我知道,我很挑剔......)。我想要的是:
- 如果时间跨度小于一天,则输出应为
7 hours, 33 minutes ago
- 如果时间跨度小于一周,则输出应为
4 days ago
- 如果时间跨度小于一个月,则输出应为
2 weeks, 6 days ago
- 如果时间跨度超过一个月,则输出应为
4 months ago
- 在时间跨度超过一年的最终情况下,输出应该是
Over a year ago
正如你所看到的,我目前正在使用 CodeIgniter 函数来简化这一点——但如果有任何原生 PHP 函数可以做我想做的事情,那就太棒了。
谢谢你的帮助!
杰克