如何通过从当前时间减去PHP中的前一个时间戳来获得以分钟为单位的持续时间?
时间戳的格式类似
2009-12-05 10:35:28
我想计算已经过去了多少分钟。怎么做?
如果您不想添加库,则可以很容易地做到这一点:
<?php
$date1 = "2009-12-05 10:35:28";
$date2 = "2009-12-07 11:58:12";
$diff = strtotime($date2) - strtotime($date1);
$minutes_passed = $diff/60;
echo $minutes_passed." minutes have passed between ".$date1." and ".$date2;
?>
要在MySQL中使用TIMESTAMPDIFF
函数,请执行以下操作:
TIMESTAMPDIFF
SELECT TIMESTAMPDIFF(MINUTE, date_lastaccess, NOW()) FROM session;
是表,session
是DATE / DATETIME字段。
查看PHP中一些漂亮的日期库。可能有一些适合您的东西。这是一个:date_lastaccess
http://www.zachleat.com/web/2008/02/10/php-pretty-date/
这会让您与众不同。 60分钟除以分钟。但是,如果您有有关初始时间戳的时区的任何信息,则需要将“现在”调整为更可比较的时间
类似的东西
strtotime("now") - strtotime("2009-12-05 10:35:28")
$second = strtotime('now') - strtotime($your_date);
$minute = $second / 60;
返回自1970年1月1日UTC以来的秒数,因此您可以轻松地进行操作。如果您不需要35.5分钟,可以使用strtotime
舍入数字。最后一句话,两个时间必须位于同一时区,否则您也要计算时区差。
$timestamp = time();
$diff = time() - $timestamp
**
用法
$minutes = date( i, $diff );
获得输出
function timeAgoMin($timestamp){
if(!is_int($timestamp)){
$timestamp = strtotime($timestamp);
}
return ((time() - $timestamp) / 60);
}
**