如果你不太清楚我的问题标题,我很抱歉。我来解释一下。
我有一个名为POSTS的表,POSTS有一个包含日期(日期)和时间(时间)的列名,日期的格式为:y-m-d和时间h:I:s
现在我想得到这样的东西:这篇帖子是发布的。。。。几秒钟前。
我有五个变量:
$date1 = $row['date'];
$time1 = $row['time'];
$postdate = ???
$today = CURRENT_DATE();
$minutes = ???
我的问题是:-如何将$date1和$time1转换为一个日期?-如何计算$postdate和$today之间的差额?
非常感谢。
$date1 = $row['date'];
$time1 = $row['time'];
$postdate = $row['date']." ".$row['time'];
$today = time();
$minutes = round(($today - strtotime($postdate))/60, 2);
由于$date1和$time1是字符串,您可以通过在它们之间加空格来创建一个合适的日期-时间值字符串,这将创建一个"y-m-d h:i:s"格式的日期-日期-时间字符串。
然后,您只需要将其转换为时间戳值,并从当前时间戳中减去它,就可以得到秒数的差值。把它除以60,你就可以在几分钟内得到差值。
尝试以下代码
$now = strtotime(date('Y-m-d H:s')); // or your date as well
$your_date = strtotime("2015-02-20 10:32:44");
$datediff = $now - $your_date;
echo floor($datediff/60);