【发布时间】:2011-07-19 07:59:44
【问题描述】:
在我的 MySQL 表中,我有一个 datatime 列(时间以以下格式保存2011-02-15 11:01:14)。我使用 PHP 提取此信息并将其打印到用户页面。
$results = mysql_query($cmd,$link);
while ($res_array = mysql_fetch_array($results)) {
$submitted_at = $res_array['datetime'];
print $submitted_at."<br>";
}
但是,我不仅想显示给定的数据时间,还想显示它是多久以前的。更详细地说,我需要这样的东西:(67 day 4 hours 47 minutes 7 seconds ago)。 PHP是否有一些功能可以使它更容易。特别是这个月可能有 28 天、29 天、30 天和 31 天,这让我很烦恼。
作为替代方案,我考虑在 MySQL 级别上进行。从给定时间到当前数据的秒数应该很容易提取。然后我可以轻松地将秒转换为天、小时和分钟。但我不知道如何使用mysql_fetch_array 访问这些信息。应该是$res_array['unix_timestamp(now())-unix_timestamp(datatime)'] 之类的吗?
【问题讨论】: