PHP显示天,小时和分钟

时间:2019-03-20 11:38:49

标签: php

我正在尝试显示“天”,“小时”代码工作正常,但是问题是我不想显示0天。如果day = 0,则仅显示小时。

<?php
  $datetime1 = new DateTime();
  $datetime2 = new DateTime($feed['dt_date_added']);
  $interval = $datetime1->diff($datetime2);
  $elapsed = $interval->format('%a days %h hours'); 
  echo $elapsed;
?>

输出:-0天5小时

预期产量:5小时

2 个答案:

答案 0 :(得分:1)

您可以只检查天数是否为0,然后相应地调整输出格式。 DateInterval对象提供了“ d”属性,可让您查看天数(请参见documentation)。

$datetime1 = new DateTime();
$datetime2 = new DateTime($feed['dt_date_added']);
$interval = $datetime1->diff($datetime2);
$format = "%h hours";
if($interval->d > 0) $format = "%a days ".$format; //adjust the format according to the number of days
$elapsed = $interval->format($format); 
echo $elapsed;

演示:http://sandbox.onlinephpfunctions.com/code/d01ae70566b1b4466664fcff8f7c70b261766c48

答案 1 :(得分:0)

您只需要检查日期是否为0:

   $datetime1 = new DateTime();
   $datetime2 = new DateTime($feed['dt_date_added']);
   $interval = $datetime1->diff($datetime2);
   $elapsed = $interval->format( $interval->format('%a') ? '%a days %h hours' : '%h hours'  ); 
   echo $elapsed;