如果一个或多个日期为零,则更改时间格式的输出

时间:2016-08-02 08:19:09

标签: php

在我的php脚本中,我可以输出有人在twitch.tv上关注频道的时间。

执行此操作的代码部分位于:

  $followdate = new DateTime(date('d-m-Y h:i:s',strtotime($result["created_at"])));
  $heute = new DateTime(date('d-m-Y h:i:s'));
  $differenz = $followdate->diff($heute);

  echo $differenz->format('%y Jahre, %m Monate, %d Tage');

即对于一个用户,我得到输出“0 Jahre,2 Monate,12 Tage”,但由于“Jahre(Years)”为0,有一种方法可以说它不应该输出这个,所以它只说“2 Monate,12 Tage“?

1 个答案:

答案 0 :(得分:1)

我想你可以这样做:

$followdate = new DateTime(date('d-m-Y h:i:s',strtotime($result["created_at"])));
$heute = new DateTime(date('d-m-Y h:i:s'));
$diff = $followdate->diff($heute);

if($diff->y > 0) {
    $f = '%y Jahre, %m Monate, %d Tage';
} elseif($diff->m > 0) {
    $f = '%m Monate, %d Tage';
} else {
    $f = '%d Tage';
}


echo $diff->format($f);