如何找到两个时间之间的差异? [复制]

Posted

技术标签:

【中文标题】如何找到两个时间之间的差异? [复制]【英文标题】:How to find difference between two time? [duplicate] 【发布时间】:2016-12-31 04:21:29 【问题描述】:

我有一个分配了值日期类型的 Two 变量。现在我想找出这两个变量值的差异。

$d1='2016-08-24 12:22:13';
$d2='2016-08-24 12:22:30';

d2-d1 相差 17 秒。如何在php中找到它?

【问题讨论】:

strtotime()- 【参考方案1】:
// Instantiate a DateTime 
$datetimefirst = new DateTime('2016-08-24 12:20:00');
$datetimesecond = new DateTime('2016-08-24 12:34:00');
//calculate the difference
$difference = $datetimefirst->diff($datetimesecond);
//format the Output 
echo $difference->format('%Y-%m-%d %H:%i:%s');

reference

DateTime 类: 此类的行为与 DateTimeImmutable 相同,只是在调用 DateTime::modify() 等修改方法时会修改对象本身。

【讨论】:

欢迎来到 Stack Overflow!虽然这段代码 sn-p 可以解决问题,但包含 explanation 确实有助于提高帖子的质量。请记住,您正在为将来的读者回答问题,而这些人可能不知道您的代码建议的原因。也请尽量不要用解释性 cmets 挤满你的代码,因为这会降低代码和解释的可读性! 我添加了评论和参考,它在 PHP 5.5.11 版本中工作【参考方案2】:

这是解决方案,

<?php

$d1='2016-08-24 12:22:13';
$d2='2016-08-24 12:22:30';
$diff=strtotime($d2)-strtotime($d1);
echo $diff;

?>

【讨论】:

【参考方案3】:

要获取两个日期之间的差异,您必须先将其转换为时间戳并从那里获取差异。

$d1='2016-08-24 12:22:13';
$d2='2016-08-24 12:22:30';
$diff=abs(strtotime($d2)-strtotime($d1));

echo "Diff ".date('H',$diff)." hours ".date('i',$diff)." minutes ".date('s',$diff)." Seconds";

这里我使用了 abs() 来转换成差值的正值。

【讨论】:

以上是关于如何找到两个时间之间的差异? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在java中找到两个日期之间的差异持续时间?

如何找到两个角度之间的差异?

如何找到两个日期之间的差异c ++

获取 JavaScript 中两个日期之间的差异? [复制]

如何计算两个日期之间的差异

两个日期时间之间的差异(以毫秒为单位)(Informix)