首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >两个日期之间的时间差异(分钟)

两个日期之间的时间差异(分钟)
EN

Stack Overflow用户
提问于 2011-10-28 21:00:44
回答 3查看 56.1K关注 0票数 18

在php 5.3上实现了这一点

代码语言:javascript
复制
$datetime1 = new DateTime("2011-10-10 10:00:00");
$datetime2 = new DateTime("2011-10-10 10:45:00");
$interval = $datetime1->diff($datetime2);
$hours   = $interval->format('%h'); 
$minutes = $interval->format('%i');
echo 'Diff. in minutes is: '.($hours * 60 + $minutes); 

我怎样才能让它在php 5.2上工作?有没有可用的等效函数?

让它工作了

代码语言:javascript
复制
$date1 = "2011-10-10 10:00:00";
$date2 = "2011-10-10 10:11:00";
echo round((strtotime($date2) - strtotime($date1)) /60);
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-28 21:03:42

您可以使用strtotimedate来代替DateTime

代码语言:javascript
复制
$datetime1 = strtotime("2011-10-10 10:00:00");
$datetime2 = strtotime("2011-10-10 10:45:00");
$interval  = abs($datetime2 - $datetime1);
$minutes   = round($interval / 60);
echo 'Diff. in minutes is: '.$minutes; 
票数 44
EN

Stack Overflow用户

发布于 2015-05-06 18:01:37

如果您需要跨越几天的分钟,您可以将以下内容添加到组合中:

代码语言:javascript
复制
$days = $interval->format("%d");

if ($days > 0) {
  return ($hours * 60 + $minutes) + ($days * 24 * 60);
}
票数 0
EN

Stack Overflow用户

发布于 2017-03-11 16:16:01

尝尝这个

代码语言:javascript
复制
function time_Diff_Minutes($startTime, $endTime) {
        $to_time = strtotime($endTime);
        $from_time = strtotime($startTime);
        $minutes = ($to_time - $from_time) / 60; 
        return ($minutes < 0 ? 0 : abs($minutes));   

 } 
 echo time_Diff_Minutes("2008-12-13 20:00:00","2008-12-14 08:00:00"); //output 720
 echo time_Diff_Minutes("2008-12-14 20:00:00","2008-12-13 08:00:00"); //output 0 (startTime > endTime) Ternary will return 0  
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7929612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档