Php 如何获取从现在到MySQL数据库中给定日期时间的天数、小时数、分钟数和秒数?
在我的MySQL表中有一个datatime列(时间以以下格式保存Php 如何获取从现在到MySQL数据库中给定日期时间的天数、小时数、分钟数和秒数?,php,mysql,datetime,time,Php,Mysql,Datetime,Time,在我的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>"; } $resu
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>";
}
$results=mysql\u查询($cmd,$link);
而($res\u array=mysql\u fetch\u array($results)){
$submitted_at=$res_数组['datetime'];
在“
”处打印$submitted_;
}
然而,我不仅要展示给定的数据时间,还要展示它是多久以前的。更详细地说,我需要这样的东西:(67天4小时47分7秒前
)。PHP是否有一些函数可以让它变得更简单。我特别担心的是,这个月可能有28天、29天、30天和31天
作为替代方案,我考虑在MySQL级别上实现它。从给定时间到当前数据提取秒数应该很容易。然后我可以轻松地将秒转换为天、小时和分钟。但是我不知道如何使用
mysql\u fetch\u数组
访问这些信息。如果它是类似于$res\u数组['unix\u timestamp(now())-unix\u timestamp(datatime)]
?这就是您想要的,只需更改格式以满足您的需要
例如:<?php
$datetime1 = date_create('2009-10-11');
$datetime2 = date_create('2009-10-13');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%a days');
?>
更改此行:
$interval->格式(“%R%a天”)
以下指南如下:
编辑:这个函数是PHP5.3+
Edit2:在旧版本的PHP中找到此项
Wow,我不知道这个函数lol。我总是使用一些除法运算和数组来获得相对时间输出:PI get:调用未定义的函数date_diff(),这对我和MySQL来说都是一样的,直到我发现了存在的几乎荒谬的datetime函数数组。很自然,我查找了php datetime的内容和BOOM,mind-blow.php版本问题?您正在运行哪个版本?