得到2日期和2日之间的差异使用cakephp按小时,分钟和秒计时

时间:2017-05-19 04:12:38

标签: cakephp

我正在尝试使用cakephp来区分日期时间和当前日期时间。我成功了,但我想把它转换成只有几小时,几分钟和几秒钟。

这是我的代码:

$currDateTime = Time::now();

$date1 = $plan->start_day->format('Y-m-d');
$date2 = $currDateTime->format('Y-m-d');
$diff = abs(strtotime($date1) - strtotime($date2));
$years = floor($diff / (365*60*60*24));
$months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
$days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24)) ;

$time1 = $plan->start_day->format('H:i:s');
$time2 = $currDateTime->format('H:i:s');
$seconds = abs(strtotime($time1) - strtotime($time2));
$hours = floor($seconds / 3600);
$mins = floor(($seconds - ($hours*3600)) / 60);
$secs = floor($seconds % 60);

结果是年,月,日,小时,分钟和秒的差异。 我怎么能把它转换成只有H:m:s ??

1 个答案:

答案 0 :(得分:1)

不需要进行所有这些计算,只需使用时间对象提供的DateInterval方法创建diff()差异,然后使用days,{{1它提供的{},hi值可用于创建所需的输出。唯一需要的计算是以小时为单位添加天数。

s

另见