【发布时间】: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()和-
标签: php
我有一个分配了值日期类型的 Two 变量。现在我想找出这两个变量值的差异。
$d1='2016-08-24 12:22:13';
$d2='2016-08-24 12:22:30';
d2-d1 相差 17 秒。如何在php中找到它?
【问题讨论】:
strtotime() 和 -
标签: php
// 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');
DateTime 类:
此类的行为与 DateTimeImmutable 相同,只是在调用DateTime::modify()等修改方法时会修改对象本身。
【讨论】:
这是解决方案,
<?php
$d1='2016-08-24 12:22:13';
$d2='2016-08-24 12:22:30';
$diff=strtotime($d2)-strtotime($d1);
echo $diff;
?>
【讨论】:
要获取两个日期之间的差异,您必须先将其转换为时间戳并从那里获取差异。
$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() 来转换成差值的正值。
【讨论】: