如何通过从PHP当前时间中减去前一个时间戳来获得以分钟为单位的持续时间?

问题描述 投票:1回答:8

如何通过从当前时间减去PHP中的前一个时间戳来获得以分钟为单位的持续时间?

时间戳的格式类似

2009-12-05 10:35:28

我想计算已经过去了多少分钟。怎么做?

php mysql datetime timestamp subtraction
8个回答
1
投票

如果您不想添加库,则可以很容易地做到这一点:

<?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; 
?>

3
投票

要在MySQL中使用TIMESTAMPDIFF函数,请执行以下操作:

TIMESTAMPDIFF

SELECT TIMESTAMPDIFF(MINUTE, date_lastaccess, NOW()) FROM session;是表,session是DATE / DATETIME字段。


0
投票

查看PHP中一些漂亮的日期库。可能有一些适合您的东西。这是一个:date_lastaccess


0
投票
http://www.zachleat.com/web/2008/02/10/php-pretty-date/

这会让您与众不同。 60分钟除以分钟。但是,如果您有有关初始时间戳的时区的任何信息,则需要将“现在”调整为更可比较的时间


0
投票

类似的东西

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舍入数字。最后一句话,两个时间必须位于同一时区,否则您也要计算时区差。


0
投票

您可以使用

strtotime

floor

floor


0
投票
$timestamp  = time();

0
投票
$diff  = time() - $timestamp

**

用法

$minutes = date( i, $diff );

获得输出

function timeAgoMin($timestamp){
  if(!is_int($timestamp)){
    $timestamp = strtotime($timestamp);
  }

  return ((time() - $timestamp) / 60);

}

**

© www.soinside.com 2019 - 2024. All rights reserved.